プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part15
http://mevius.5ch.net/test/read.cgi/tech/1564310397/
プログラミングのお題スレ Part16
レス数が1000を超えています。これ以上書き込みはできません。
2019/11/17(日) 09:00:22.10ID:xqEdXdr6
2019/11/17(日) 10:53:15.74ID:uilOlN75
>>1 おつ
3デフォルトの名無しさん
2019/11/17(日) 17:37:39.46ID:8gWobnsK val 乙 = "乙"
prontln(乙)
prontln(乙)
2019/11/18(月) 02:35:04.18ID:t9gVOJNg
お題:
https://i.imgur.com/JsMU4uh.jpg
明度が0〜9までのグレーの四角がグラデーション状に横並びにならんでいるとします
この状態だと隣接している四角と四角の明度の差が少ないので境目が見えづらいです
全ての四角同士の明度差ができるだけ大きくなるように並び替えるにはどういうロジックが考えられるでしょう?
四角の数が増えても対応できるような汎用的なロジックが望ましいです
両端は固定のままが理想ですが必須要件ではありません
・ボツ例:1〜4まで一つおきに左右端を入れ替える
(1) 1と8を入れ替える
(2) 2と7はそのまま
(3) 3と6を入れ替える
(4) 4と5はそのまま
※これだと4と5が隣り合ったままで明度差が少ない箇所が残るので最適解ではない
https://i.imgur.com/JsMU4uh.jpg
明度が0〜9までのグレーの四角がグラデーション状に横並びにならんでいるとします
この状態だと隣接している四角と四角の明度の差が少ないので境目が見えづらいです
全ての四角同士の明度差ができるだけ大きくなるように並び替えるにはどういうロジックが考えられるでしょう?
四角の数が増えても対応できるような汎用的なロジックが望ましいです
両端は固定のままが理想ですが必須要件ではありません
・ボツ例:1〜4まで一つおきに左右端を入れ替える
(1) 1と8を入れ替える
(2) 2と7はそのまま
(3) 3と6を入れ替える
(4) 4と5はそのまま
※これだと4と5が隣り合ったままで明度差が少ない箇所が残るので最適解ではない
2019/11/18(月) 05:41:33.12ID:8+qUVevR
Σ|a_n - a_{n+1}| を最大化する問題なのか
inf{|a_n - a_{n+1}|} を最大化する問題なのか
どっちなんだ?
inf{|a_n - a_{n+1}|} を最大化する問題なのか
どっちなんだ?
2019/11/18(月) 11:50:33.33ID:BCetHxzu
2019/11/18(月) 18:43:37.24ID:DjoGz+4S
8デフォルトの名無しさん
2019/11/18(月) 20:03:36.58ID:EbN/HVpO >>4
両端固定で最小隣接差を最大化する条件で回答する。Rですべての並べ方を虱潰しに
調べるのが https://ideone.com/paKF2d で、結果は>>6が言う通りになる。
n = 10 ではすぐに終わるが、それを超えると時間がかなりかかるし、環境によっては
メモリ不足になる。
もう少し効率的に調べるのが https://ideone.com/OsmpbQ で、n = 16 までは
すぐに終わる。それを超えると時間がかかるように段々なるので、さらなる効率化が
必要。
n = 10 と n = 16 の結果から、nが偶数の場合は>>6が言うように規則性が見られ、
nが大きくなっても並べ方は常に2通りで、例えば n = 256 のときは
0, 127, 254, 126, 253, 125, 252, ..., 2, 129, 1, 128, 255
0, 128, 1, 129, 2, 130, 3, ..., 253, 126, 254, 127, 255
になると予想されるが、それが正解であることを理論的に説明しないといけないな。
両端固定で最小隣接差を最大化する条件で回答する。Rですべての並べ方を虱潰しに
調べるのが https://ideone.com/paKF2d で、結果は>>6が言う通りになる。
n = 10 ではすぐに終わるが、それを超えると時間がかなりかかるし、環境によっては
メモリ不足になる。
もう少し効率的に調べるのが https://ideone.com/OsmpbQ で、n = 16 までは
すぐに終わる。それを超えると時間がかかるように段々なるので、さらなる効率化が
必要。
n = 10 と n = 16 の結果から、nが偶数の場合は>>6が言うように規則性が見られ、
nが大きくなっても並べ方は常に2通りで、例えば n = 256 のときは
0, 127, 254, 126, 253, 125, 252, ..., 2, 129, 1, 128, 255
0, 128, 1, 129, 2, 130, 3, ..., 253, 126, 254, 127, 255
になると予想されるが、それが正解であることを理論的に説明しないといけないな。
9デフォルトの名無しさん
2019/11/21(木) 21:52:25.50ID:1mUnuvuP >>4
【nが偶数の場合の>>8の予想を理論的に説明する】(等幅フォントでの表示推奨)
n = 10のとき、最小階差をd >= 6と仮定すると 0: 4, 5, 6, 7, 8
4に隣接できる数はなく、d = 5と仮定すると9だ 1: 5, 6, 7, 8, 9
けなので、数列が途切れてしまって続かない。 2: 6, 7, 8, 9
よってd >= 5はあり得ず、d = 4から調べれば良 3: 7, 8, 9
い。d = 4のとき各数が隣接できる数を列挙する 4: 0, 8, 9
と、右図のようになる。 5: 0, 1, 9
6: 0, 1, 2
7: 0, 1, 2, 3
8: 0, 1, 2, 3, 4
9: 1, 2, 3, 4, 5
これらの候補からそれぞれ2個(両端の0と9では 0: (4), (5), >6<, >7<, >8<
1個)ずつを選ぶ問題となる。4で、0と9を両方選 1: [5], 6, 7, 8, >9<
ぶと0→4→9で順列が終わってしまうため片方し 2: 6, 7, 8, >9<
か選べないから、8を必ず選ぶことが確定する。 3: 7, 8, >9<
同様に5で1が確定する。選択確定に[]、どちら 4: (0), [8], (9)
か一方を選択に()、非選択の確定に><の印をつ 5: (0), [1], (9)
けると、右図になる。 6: >0<, 1, 2
7: >0<, 1, 2, 3
8: >0<, 1, 2, 3, [4]
9: >1<, >2<, >3<, (4), (5)
【nが偶数の場合の>>8の予想を理論的に説明する】(等幅フォントでの表示推奨)
n = 10のとき、最小階差をd >= 6と仮定すると 0: 4, 5, 6, 7, 8
4に隣接できる数はなく、d = 5と仮定すると9だ 1: 5, 6, 7, 8, 9
けなので、数列が途切れてしまって続かない。 2: 6, 7, 8, 9
よってd >= 5はあり得ず、d = 4から調べれば良 3: 7, 8, 9
い。d = 4のとき各数が隣接できる数を列挙する 4: 0, 8, 9
と、右図のようになる。 5: 0, 1, 9
6: 0, 1, 2
7: 0, 1, 2, 3
8: 0, 1, 2, 3, 4
9: 1, 2, 3, 4, 5
これらの候補からそれぞれ2個(両端の0と9では 0: (4), (5), >6<, >7<, >8<
1個)ずつを選ぶ問題となる。4で、0と9を両方選 1: [5], 6, 7, 8, >9<
ぶと0→4→9で順列が終わってしまうため片方し 2: 6, 7, 8, >9<
か選べないから、8を必ず選ぶことが確定する。 3: 7, 8, >9<
同様に5で1が確定する。選択確定に[]、どちら 4: (0), [8], (9)
か一方を選択に()、非選択の確定に><の印をつ 5: (0), [1], (9)
けると、右図になる。 6: >0<, 1, 2
7: >0<, 1, 2, 3
8: >0<, 1, 2, 3, [4]
9: >1<, >2<, >3<, (4), (5)
10デフォルトの名無しさん
2019/11/21(木) 21:53:22.41ID:1mUnuvuP 3と6で候補がそれぞれ2個に絞られたから、それ 0: (4), (5), >6<, >7<, >8<
らが選択確定となり、右図になる。 1: [5], [6], >7<, >8<, >9<
2: [6], 7, >8<, >9<
3: [7], [8], >9<
4: (0), [8], (9)
5: (0), [1], (9)
6: >0<, [1], [2]
7: >0<, >1<, 2, [3]
8: >0<, >1<, >2<, [3], [4]
9: >1<, >2<, >3<, (4), (5)
2と7で残り候補がそれぞれ1個に絞られたから、 0: (4), (5), >6<, >7<, >8<
それらが選択確定となり、結局、可能な並べ方 1: [5], [6], >7<, >8<, >9<
は右図のように0の次に4か5から始まる2通りし 2: [6], [7], >8<, >9<
かないことが分かる。 3: [7], [8], >9<
4: (0), [8], (9)
5: (0), [1], (9)
6: >0<, [1], [2]
7: >0<, >1<, [2], [3]
8: >0<, >1<, >2<, [3], [4]
9: >1<, >2<, >3<, (4), (5)
同様にして、nが偶数の場合を一般化し、中央の2つの数n / 2 - 1とn / 2でそれぞれ
n - 2と1を選択確定、0とn - 1を一方選択とするところから始めて、順々に選択確定
させていくことができる。
>>8の予想を理論的に説明できたので、それに基づくプログラムを晴れて作成すると、
https://ideone.com/D3zdgX になる。
らが選択確定となり、右図になる。 1: [5], [6], >7<, >8<, >9<
2: [6], 7, >8<, >9<
3: [7], [8], >9<
4: (0), [8], (9)
5: (0), [1], (9)
6: >0<, [1], [2]
7: >0<, >1<, 2, [3]
8: >0<, >1<, >2<, [3], [4]
9: >1<, >2<, >3<, (4), (5)
2と7で残り候補がそれぞれ1個に絞られたから、 0: (4), (5), >6<, >7<, >8<
それらが選択確定となり、結局、可能な並べ方 1: [5], [6], >7<, >8<, >9<
は右図のように0の次に4か5から始まる2通りし 2: [6], [7], >8<, >9<
かないことが分かる。 3: [7], [8], >9<
4: (0), [8], (9)
5: (0), [1], (9)
6: >0<, [1], [2]
7: >0<, >1<, [2], [3]
8: >0<, >1<, >2<, [3], [4]
9: >1<, >2<, >3<, (4), (5)
同様にして、nが偶数の場合を一般化し、中央の2つの数n / 2 - 1とn / 2でそれぞれ
n - 2と1を選択確定、0とn - 1を一方選択とするところから始めて、順々に選択確定
させていくことができる。
>>8の予想を理論的に説明できたので、それに基づくプログラムを晴れて作成すると、
https://ideone.com/D3zdgX になる。
11デフォルトの名無しさん
2019/11/21(木) 21:54:24.25ID:1mUnuvuP nが奇数の場合にも偶数の場合と似たようにしてd >= (n - 1) / 2 はあり得ず、
d = (n - 1) / 2 - 1 から調べれば良いことが分かるが、偶数の場合と違い
選択確定できる数はない。>>8の元請け関数のforループの開始値をnではなく
n %/% 2 - 1に置き換えるだけでは、実行時間は5〜6%くらいしか短縮されない。
偶数の場合のような図の作成により、調べる組み合わせを減らしていくことは
できるが、プログラムを書くのはかなり面倒そう。
d = (n - 1) / 2 - 1 から調べれば良いことが分かるが、偶数の場合と違い
選択確定できる数はない。>>8の元請け関数のforループの開始値をnではなく
n %/% 2 - 1に置き換えるだけでは、実行時間は5〜6%くらいしか短縮されない。
偶数の場合のような図の作成により、調べる組み合わせを減らしていくことは
できるが、プログラムを書くのはかなり面倒そう。
2019/11/21(木) 22:40:32.33ID:vr0RSw67
>>4 Squeak Smalltalk。両端固定せず、対称排除なしの虱潰しで。
| min |
min := 0 -> OrderedCollection new.
(0 to: 9) permutationsDo: [:perm |
| curr |
curr := (perm overlappingPairsCollect: #-) abs min.
curr = min key ifTrue: [min value add: perm copy].
curr > min key ifTrue: [min := curr -> (OrderedCollection with: perm copy)]
].
^min value asArray "=> #(#(4 9 3 8 2 7 1 6 0 5) #(5 0 6 1 7 2 8 3 9 4)) "
"Pharo向け => http://ws.stfx.eu/CFADPDGFMTJC ;"
| min |
min := 0 -> OrderedCollection new.
(0 to: 9) permutationsDo: [:perm |
| curr |
curr := (perm overlappingPairsCollect: #-) abs min.
curr = min key ifTrue: [min value add: perm copy].
curr > min key ifTrue: [min := curr -> (OrderedCollection with: perm copy)]
].
^min value asArray "=> #(#(4 9 3 8 2 7 1 6 0 5) #(5 0 6 1 7 2 8 3 9 4)) "
"Pharo向け => http://ws.stfx.eu/CFADPDGFMTJC ;"
2019/11/22(金) 20:06:41.59ID:EyqF2Cmi
お題:読み手を一瞬戸惑わせよ
https://ideone.com/OCwpPB
https://ideone.com/OCwpPB
2019/11/23(土) 05:56:02.57ID:KvoIJqUR
https://twitter.com/AtomDynamics16/status/1197979782719229952
キー入力を一定時間ごとに送るソフトを書いたのだけど、やっぱりグレーですか?
パケット改変して無くて、メモ帳ではうまくいってる。
UOクライアントに使うのが怖くて躊躇している。
https://twitter.com/5chan_nel (5ch newer account)
キー入力を一定時間ごとに送るソフトを書いたのだけど、やっぱりグレーですか?
パケット改変して無くて、メモ帳ではうまくいってる。
UOクライアントに使うのが怖くて躊躇している。
https://twitter.com/5chan_nel (5ch newer account)
2019/11/23(土) 06:01:06.32ID:KvoIJqUR
あ、UOスレに書いたものだと・・・。
16デフォルトの名無しさん
2019/11/23(土) 22:51:11.49ID:ubdNKuk5 >>4を>>11の方式で求めるプログラムを書いてみた: https://ideone.com/14wgia
nが偶数の場合、n = 8までは>>8の2番目のプログラムと比べて遅いが、n = 10, 12,
14, 16, 18, 20ではそれぞれ1.78倍、7.16倍、49.8倍、327倍、3120倍、30800倍の
速度になり、差がどんどん開いていく。n = 256でも1秒未満で求められる。
nが奇数の場合、n = 11までは遅いが、n = 13で同程度になり、n = 15, 17, 19, 21では
それぞれ3.25倍、12.6倍、58.8倍、325倍の速度で、差がやはりどんどん開いていく。
nが2大きくなるごとに並べ方の通り数が2倍以上に増えるようなので、n = 255では
どんなアルゴリズムを使ってもコンピュータの性能限界をはるかに超えてしまう。
nが偶数の場合、n = 8までは>>8の2番目のプログラムと比べて遅いが、n = 10, 12,
14, 16, 18, 20ではそれぞれ1.78倍、7.16倍、49.8倍、327倍、3120倍、30800倍の
速度になり、差がどんどん開いていく。n = 256でも1秒未満で求められる。
nが奇数の場合、n = 11までは遅いが、n = 13で同程度になり、n = 15, 17, 19, 21では
それぞれ3.25倍、12.6倍、58.8倍、325倍の速度で、差がやはりどんどん開いていく。
nが2大きくなるごとに並べ方の通り数が2倍以上に増えるようなので、n = 255では
どんなアルゴリズムを使ってもコンピュータの性能限界をはるかに超えてしまう。
2019/11/24(日) 20:41:58.58ID:NMcltmqU
今日は夕焼けが超絶綺麗だったよ。
今まで見たことないくらい。
まだきれいになるだろうか、というのと、これ一回で終わりだろうか。
というのがあった。
今まで見たことないくらい。
まだきれいになるだろうか、というのと、これ一回で終わりだろうか。
というのがあった。
2019/11/25(月) 01:25:34.58ID:SBJvKXmI
お題:Diffアルゴリズムを実装せよ。
差分アルゴリズム、さんぷる。
1:abcdef
2:abdef -> -3:c
3:bcdef -> -1:a,+3:c
4:abcdef -> +1a
以上がオレの考えるアルゴリズムだが、
もっとより良いアルゴリズムが世の中にはあるはずなので、
実装しませんか?
差分アルゴリズム、さんぷる。
1:abcdef
2:abdef -> -3:c
3:bcdef -> -1:a,+3:c
4:abcdef -> +1a
以上がオレの考えるアルゴリズムだが、
もっとより良いアルゴリズムが世の中にはあるはずなので、
実装しませんか?
19デフォルトの名無しさん
2019/11/25(月) 09:24:47.39ID:veETdbiQ >>18
それはアルゴリズムではなく入力と出力のサンプル。
まあとにかく足された文字は+と位置と足された文字(または文字列?)を出して引かれた文字は-と位置と文字を出す仕様ということだな。
で、位置は先頭が1だと。
後で時間が空いたら考えとく。
それはアルゴリズムではなく入力と出力のサンプル。
まあとにかく足された文字は+と位置と足された文字(または文字列?)を出して引かれた文字は-と位置と文字を出す仕様ということだな。
で、位置は先頭が1だと。
後で時間が空いたら考えとく。
20デフォルトの名無しさん
2019/11/25(月) 22:13:03.88ID:UwQDpJpg >>18
https://ideone.com/3VET5r
Rには編集前後の文字列のレーベンシュタイン距離を求める便利な関数adistが
備わっていて、1文字の挿入、削除、置換操作が必要な位置をI, D, S、操作が不要な
位置をMで示す文字列を返してくれる。例えば、"abdef" と "bcdef" を与えると、
"DMIMMM" が得られる。あとは、>>18の出力形式にちょっと加工するだけ。
https://ideone.com/3VET5r
Rには編集前後の文字列のレーベンシュタイン距離を求める便利な関数adistが
備わっていて、1文字の挿入、削除、置換操作が必要な位置をI, D, S、操作が不要な
位置をMで示す文字列を返してくれる。例えば、"abdef" と "bcdef" を与えると、
"DMIMMM" が得られる。あとは、>>18の出力形式にちょっと加工するだけ。
21デフォルトの名無しさん
2019/11/26(火) 01:23:24.55ID:q8waUqPK22デフォルトの名無しさん
2019/11/26(火) 11:38:36.70ID:JjgFJEIb23デフォルトの名無しさん
2019/11/26(火) 15:12:16.07ID:JjgFJEIb >>18
Perl
https://paiza.io/projects/71IZPLpIhoNPEexVVb8cCQ
あまりPerlの特性を生かせてないような、かといって今のところこれぐらいしか思い浮かばない。
Perl
https://paiza.io/projects/71IZPLpIhoNPEexVVb8cCQ
あまりPerlの特性を生かせてないような、かといって今のところこれぐらいしか思い浮かばない。
2019/11/26(火) 16:15:14.15ID:FF/Zqwz/
>>18
やっぱお前ら高性能だな。言い方悪いけど。
やっぱお前ら高性能だな。言い方悪いけど。
25デフォルトの名無しさん
2019/11/28(木) 17:24:57.64ID:mMrv+0Zt 高性能じゃない俺にもできるお題をたのむ
26デフォルトの名無しさん
2019/11/28(木) 20:14:43.82ID:mbBdSv/T お題:自然数aをいくつか[※1]の自然数の組の和で表すとき、それらの自然数の組の
積[※2]が最大となるような自然数の組を、aが1から100までに対して表示せよ[※3]。
[※1] 1つでも構わず、その場合には和も積も自然数n自身となる。
[※2] 例えば、7を1+2+4と表せば積は1*2*4=8、2+5と表せば積は2*5=10であり、
後者の積の方が大きい。
[※3] 最大となるような自然数の組が複数ある場合は、すべての組を表示せよ。
積[※2]が最大となるような自然数の組を、aが1から100までに対して表示せよ[※3]。
[※1] 1つでも構わず、その場合には和も積も自然数n自身となる。
[※2] 例えば、7を1+2+4と表せば積は1*2*4=8、2+5と表せば積は2*5=10であり、
後者の積の方が大きい。
[※3] 最大となるような自然数の組が複数ある場合は、すべての組を表示せよ。
2019/11/28(木) 20:24:13.35ID:522sTouZ
>>26
同じ数字は何回も使っていいの?
同じ数字は何回も使っていいの?
28デフォルトの名無しさん
2019/11/28(木) 20:30:31.52ID:mbBdSv/T >>27
可。
可。
29デフォルトの名無しさん
2019/11/28(木) 21:08:44.29ID:pgFu+V4e 後で虱潰しに全部計算するやつでも作るかな
2019/11/28(木) 21:12:26.03ID:522sTouZ
同じ数字を何回も使っていいんだったら2と3だけで作って、2*2を4と置き換えたものを追加(※3のため)すればええんかね?
aが1の場合は1
aが偶数の場合2^(a/2)
aが3以上の奇数の場合2^((a-3)/2)+3
aが1の場合は1
aが偶数の場合2^(a/2)
aが3以上の奇数の場合2^((a-3)/2)+3
2019/11/28(木) 21:20:11.41ID:EjjwcG+D
f(a,n)=(a/n)^n
df/dn =(a/n)^n * (-1+log[a/n]) な感じなので
ne=aで増減変化な気がするから
それ前後の整数2つだけしらべれば大丈夫?
a<=100, a>=1 だから200回調べる感じ
df/dn =(a/n)^n * (-1+log[a/n]) な感じなので
ne=aで増減変化な気がするから
それ前後の整数2つだけしらべれば大丈夫?
a<=100, a>=1 だから200回調べる感じ
2019/11/28(木) 22:03:53.95ID:uZ7jROyS
3で分割できている間は3で残りが1になってしまう場合は最後の4を2x2にするのが最大っぽいね
7だったら3+3+1ではなくて3+2+2
12は3+3+3+3
13は3+3+3+2+2
100までずっとこれ
最大値しか表示しないけど
https://ideone.com/Ck54FP
7だったら3+3+1ではなくて3+2+2
12は3+3+3+3
13は3+3+3+2+2
100までずっとこれ
最大値しか表示しないけど
https://ideone.com/Ck54FP
2019/11/28(木) 22:37:08.59ID:PoPpbfsh
求める値をf(a)とする
b+c=a, b<=c, b>0, c>0 となる全てのb,cに対して
max { f(b) f(c) } と a の大きい方
となる
f(a) を a=1 の時から順番に調べれば良い
aが十分大きくて小数も許すなら
e=2.7182818... に分けるのが最善
整数なら>>32の通りかな?
b+c=a, b<=c, b>0, c>0 となる全てのb,cに対して
max { f(b) f(c) } と a の大きい方
となる
f(a) を a=1 の時から順番に調べれば良い
aが十分大きくて小数も許すなら
e=2.7182818... に分けるのが最善
整数なら>>32の通りかな?
2019/11/28(木) 22:43:58.67ID:522sTouZ
あー、2より3の方がよかったかー
2019/11/28(木) 22:48:21.15ID:PoPpbfsh
1以外の時には1が出ない
5以上は2個以上に分けた方が大きい
4は2+2にしても同じ
6は2+2+2より3+3よ方が大きい
だから
a>=2の時には
2、3、4以外の値はあらわれず
2と4をあわせて6以上にはならないことがわかる
つまり、(順番を無視すれば)以下の形のみになる
3+3+...+3
3+3+...+3+2
3+3+...+3+2+2
3+3+...+3+4
5以上は2個以上に分けた方が大きい
4は2+2にしても同じ
6は2+2+2より3+3よ方が大きい
だから
a>=2の時には
2、3、4以外の値はあらわれず
2と4をあわせて6以上にはならないことがわかる
つまり、(順番を無視すれば)以下の形のみになる
3+3+...+3
3+3+...+3+2
3+3+...+3+2+2
3+3+...+3+4
36デフォルトの名無しさん
2019/11/29(金) 15:19:10.07ID:Ursk3Xfl >>35
なぜそれで「だから」となるのかわからない。
なぜそれで「だから」となるのかわからない。
2019/11/29(金) 17:42:19.99ID:YkvT9y9m
2、3、4以外の値はあらわれず
2と4をあわせて6以上にはならない
どっちがわからない?
2と4をあわせて6以上にはならない
どっちがわからない?
2019/11/29(金) 17:48:24.95ID:YkvT9y9m
.... が正として、
.... * n * 1 < .... * (n+1)
.... * n < .... * floor(n/2) * ceil(n/2) @nが5以上
.... * 2 * 2 * 2 < .... * 3 * 3
.... * 4 = .... * 2 * 2
.... * n * 1 < .... * (n+1)
.... * n < .... * floor(n/2) * ceil(n/2) @nが5以上
.... * 2 * 2 * 2 < .... * 3 * 3
.... * 4 = .... * 2 * 2
2019/11/29(金) 17:57:55.99ID:YkvT9y9m
一応、
加算と乗算は交換法則と結合法則が成り立つ
ってのも必要な条件です
加算と乗算は交換法則と結合法則が成り立つ
ってのも必要な条件です
40デフォルトの名無しさん
2019/11/29(金) 20:54:17.14ID:dycaAJcC >>37
なぜ現れないとわかるのか?
なぜ現れないとわかるのか?
2019/11/29(金) 21:03:35.14ID:M9vvD3Fp
42デフォルトの名無しさん
2019/11/29(金) 21:19:59.63ID:dycaAJcC え?そうなの?わかりづらいな。見てもわからんよ。
2019/11/29(金) 21:29:43.92ID:57KUyJj8
なんでわからんのかがわからん
2019/11/29(金) 21:39:03.80ID:M9vvD3Fp
38の内容は
1行目で1が無意味なので1が出ない
2行目で5以上は分割したほうがでかくなる
3行目で2*2*2と3*3は同じ
4行目で2*2と4は同じ
を説明している
3行目4行目はパターンを列挙するために必要な内容
1行目で1が無意味なので1が出ない
2行目で5以上は分割したほうがでかくなる
3行目で2*2*2と3*3は同じ
4行目で2*2と4は同じ
を説明している
3行目4行目はパターンを列挙するために必要な内容
2019/11/30(土) 02:03:19.03ID:8/O2xSEo
5以上は分割した方が大きくなる事に関しては数学的に証明できてるってこと?
2019/11/30(土) 02:12:04.92ID:NRfKrTi3
したつもり en=aのような感じのあれ
2019/11/30(土) 02:28:06.73ID:Qe4NE6bn
n/2*n/2=n^2/4
だからn=4ならnと同じ、5以上なら分子が大きくなるからnより大きくなる
整数でに分割なので↑は偶数のときに限定
奇数のときは
(n-1)/2*(n+1)/2=(n^2-1)/4
だからnが5以上ならnより大きい
だからn=4ならnと同じ、5以上なら分子が大きくなるからnより大きくなる
整数でに分割なので↑は偶数のときに限定
奇数のときは
(n-1)/2*(n+1)/2=(n^2-1)/4
だからnが5以上ならnより大きい
2019/11/30(土) 07:09:20.92ID:WebQyLi7
2019/11/30(土) 07:13:05.91ID:WebQyLi7
最大となる分け方が存在する
ってのは有限性から明らか
つまり、
少なくとも1個の分け方が存在する
分け方は有限個しかない
から明らか
ってのは有限性から明らか
つまり、
少なくとも1個の分け方が存在する
分け方は有限個しかない
から明らか
2019/11/30(土) 11:15:44.62ID:WebQyLi7
n ≧ 5 の時
floor(n/2) * ceil(n/2) - n
> { (n - 1) / 2 } * { n / 2 } - n
= n (n - 5) / 4
≧ 0
よって
n < floor(n/2) * ceil(n/2)
floor(n/2) * ceil(n/2) - n
> { (n - 1) / 2 } * { n / 2 } - n
= n (n - 5) / 4
≧ 0
よって
n < floor(n/2) * ceil(n/2)
2019/11/30(土) 17:07:38.94ID:0h0IqWCg
これでわからんのなら数学じゃなくて日本語が不自由と断言してよいレベルだな
2019/11/30(土) 17:44:52.22ID:hV/U21TG
2019/11/30(土) 18:01:19.21ID:hV/U21TG
あ、間違ってら。
2019/11/30(土) 18:08:13.55ID:+iwJeZ8g
2019/11/30(土) 18:12:03.75ID:hV/U21TG
>>26
https://ideone.com/nqON70
C++。理屈が良くわからんけど、これが俺の限界。
2で欠けたほうが普通はいいんだけど、3の倍数は2引くと1余るのでそういうところでコスト取られるのでしょうかねぇ??
プリミティブ触ったほうが詰め込めるというのは普遍的にあると思うのだけどね。。。
もしかしたら、どっかの素数がスイートスポットになってて変な切り方しないとうまくないってこともあるかもしれない。
https://ideone.com/nqON70
C++。理屈が良くわからんけど、これが俺の限界。
2で欠けたほうが普通はいいんだけど、3の倍数は2引くと1余るのでそういうところでコスト取られるのでしょうかねぇ??
プリミティブ触ったほうが詰め込めるというのは普遍的にあると思うのだけどね。。。
もしかしたら、どっかの素数がスイートスポットになってて変な切り方しないとうまくないってこともあるかもしれない。
2019/11/30(土) 18:18:01.40ID:hV/U21TG
屁理屈だけど、2と3の組み合わせで表せる数字は多いということかなぁ??
2019/11/30(土) 18:18:52.60ID:hV/U21TG
2の倍数で且つ3の倍数の時は2を使うのがいいのか3を使うのがいいのか解らない。
2019/11/30(土) 18:25:54.08ID:hV/U21TG
2019/11/30(土) 18:26:46.97ID:hV/U21TG
うーん。わけ わか らん 。。
2019/11/30(土) 18:43:15.79ID:hV/U21TG
https://ideone.com/U2TQGy
オマケ・鼻から悪魔かいな。。。
オマケ・鼻から悪魔かいな。。。
2019/11/30(土) 19:36:20.16ID:hV/U21TG
2019/11/30(土) 19:40:07.22ID:8+8CeiWg
>>35で終わり
はい次
はい次
2019/11/30(土) 19:54:08.36ID:hV/U21TG
>>62
なるほど。一応そこにはたどり着いたが、迷いの中だ。。。
なるほど。一応そこにはたどり着いたが、迷いの中だ。。。
64デフォルトの名無しさん
2019/11/30(土) 20:15:09.44ID:c0k0ajHF >>26の出題者です。>>32で正解ですが、お題の指示通りに自然数の組み合わせを
出力してもらいたかったな。こういう綺麗な三角形ができるから。
1: [1]
2: [2]
3: [3]
4: [4]
4: [2, 2]
5: [2, 3]
6: [3, 3]
7: [3, 4]
7: [2, 2, 3]
8: [2, 3, 3]
9: [3, 3, 3]
10: [3, 3, 4]
10: [2, 2, 3, 3]
11: [2, 3, 3, 3]
12: [3, 3, 3, 3]
13: [3, 3, 3, 4]
13: [2, 2, 3, 3, 3]
14: [2, 3, 3, 3, 3]
15: [3, 3, 3, 3, 3]
16: [3, 3, 3, 3, 4]
16: [2, 2, 3, 3, 3, 3]
17: [2, 3, 3, 3, 3, 3]
18: [3, 3, 3, 3, 3, 3]
19: [3, 3, 3, 3, 3, 4]
19: [2, 2, 3, 3, 3, 3, 3]
20: [2, 3, 3, 3, 3, 3, 3]
21: [3, 3, 3, 3, 3, 3, 3]
22: [3, 3, 3, 3, 3, 3, 4]
(以下略)
出力してもらいたかったな。こういう綺麗な三角形ができるから。
1: [1]
2: [2]
3: [3]
4: [4]
4: [2, 2]
5: [2, 3]
6: [3, 3]
7: [3, 4]
7: [2, 2, 3]
8: [2, 3, 3]
9: [3, 3, 3]
10: [3, 3, 4]
10: [2, 2, 3, 3]
11: [2, 3, 3, 3]
12: [3, 3, 3, 3]
13: [3, 3, 3, 4]
13: [2, 2, 3, 3, 3]
14: [2, 3, 3, 3, 3]
15: [3, 3, 3, 3, 3]
16: [3, 3, 3, 3, 4]
16: [2, 2, 3, 3, 3, 3]
17: [2, 3, 3, 3, 3, 3]
18: [3, 3, 3, 3, 3, 3]
19: [3, 3, 3, 3, 3, 4]
19: [2, 2, 3, 3, 3, 3, 3]
20: [2, 3, 3, 3, 3, 3, 3]
21: [3, 3, 3, 3, 3, 3, 3]
22: [3, 3, 3, 3, 3, 3, 4]
(以下略)
65デフォルトの名無しさん
2019/11/30(土) 20:17:08.99ID:c0k0ajHF 1から9までの行頭の半角空白が消えちゃったな。
2019/11/30(土) 22:34:49.11ID:jbs9cucn
並び替えは無視?
67デフォルトの名無しさん
2019/12/01(日) 01:13:31.67ID:2OVww3gB 「ループを使わずに1から100を順に出力するコードは書けますか」
68デフォルトの名無しさん
2019/12/01(日) 01:22:27.49ID:ed/fyTUF2019/12/01(日) 01:55:41.13ID:ztn4h68A
seq 100
70デフォルトの名無しさん
2019/12/01(日) 02:00:13.95ID:vkZvYyYJ >>67
void Array.from({length:100}, (_, i) => {
console.log(i + 1);
});
とか
let counter = 0;
void function count() {
if (counter++ < 100) {
console.log(counter);
count();
}
}();
とか。js
void Array.from({length:100}, (_, i) => {
console.log(i + 1);
});
とか
let counter = 0;
void function count() {
if (counter++ < 100) {
console.log(counter);
count();
}
}();
とか。js
2019/12/01(日) 06:08:36.21ID:jm8+wa+d
>>67 Ruby アイデアは前スレの誰かのパクリ
p 10**303 / 999**2
# => 10020030040050060070080090100110120130140150160170180190200210220230240250260270
28029030031032033034035036037038039040041042043044045046047048049050051052053054
05505605705805906006106206306406506606706806907007107207307407507607707807908008
1082083084085086087088089090091092093094095096097098099100
p 10**303 / 999**2
# => 10020030040050060070080090100110120130140150160170180190200210220230240250260270
28029030031032033034035036037038039040041042043044045046047048049050051052053054
05505605705805906006106206306406506606706806907007107207307407507607707807908008
1082083084085086087088089090091092093094095096097098099100
72デフォルトの名無しさん
2019/12/01(日) 09:04:24.78ID:lTEhnVlg >>67 julia
println.(1:100)
println.(1:100)
2019/12/01(日) 17:27:50.28ID:mlX7masq
74デフォルトの名無しさん
2019/12/01(日) 18:17:04.86ID:54WkPiOY >>67
Kotlin script
(1..100).forEach(::println)
今スマホから書いてて試せないんだが多分これでできる。
forEachはループだというならこれではダメだが(確かに中ではループしていると思う)。
Kotlin script
(1..100).forEach(::println)
今スマホから書いてて試せないんだが多分これでできる。
forEachはループだというならこれではダメだが(確かに中ではループしていると思う)。
2019/12/01(日) 18:51:37.83ID:Enyr5Fgf
76デフォルトの名無しさん
2019/12/01(日) 19:26:37.77ID:IoGKXgrY >>71
これが日本のIT産業。
これが日本のIT産業。
2019/12/01(日) 21:21:54.10ID:3oGVZyBI
お題: アルファベットの文字列の大文字と小文字の対応を反転させて表示しろ
in < Hello, World!
out > hELLO, wORLD!
in < Hello, World!
out > hELLO, wORLD!
2019/12/01(日) 21:48:29.67ID:5gm7V8wf
>>77 Ruby
puts 'Hello, World!'.swapcase # => hELLO, wORLD!
puts 'Hello, World!'.swapcase # => hELLO, wORLD!
2019/12/01(日) 22:32:24.47ID:ztn4h68A
vim 的には ~ 一発
80デフォルトの名無しさん
2019/12/01(日) 23:10:18.94ID:sAJI+X1W >>77 Common Lisp
(defun string-invert-case (string)
(map 'string
(lambda (c)
(if (lower-case-p c)
(char-upcase c)
(char-downcase c)))
string))
(write-line (string-invert-case "Hello, World!"))
(defun string-invert-case (string)
(map 'string
(lambda (c)
(if (lower-case-p c)
(char-upcase c)
(char-downcase c)))
string))
(write-line (string-invert-case "Hello, World!"))
81デフォルトの名無しさん
2019/12/02(月) 02:15:21.91ID:6Q7teWoI82デフォルトの名無しさん
2019/12/02(月) 08:36:45.67ID:gdxsQr6e2019/12/02(月) 15:32:31.35ID:APM7ABg4
お題: コンビニでタバコ(マルボロ)を買いたい
喫煙者がコンビニでタバコを購入して喫煙するまでの疑似コードを書け
詳細にかつ現実的で、エラー/例外に可能な限り対応していれば高得点とする
例:
person.walk_to(conbini)
if conbini.has(person) {
employee = conbini.get_current_employee()
tobacco = person.request_to(employee, "マルボロ")
person.smoke(tobacco)
}
喫煙者がコンビニでタバコを購入して喫煙するまでの疑似コードを書け
詳細にかつ現実的で、エラー/例外に可能な限り対応していれば高得点とする
例:
person.walk_to(conbini)
if conbini.has(person) {
employee = conbini.get_current_employee()
tobacco = person.request_to(employee, "マルボロ")
person.smoke(tobacco)
}
84デフォルトの名無しさん
2019/12/02(月) 16:09:21.37ID:KwsHxcvC ヤニカスはしね
2019/12/02(月) 17:33:22.44ID:54OAxivC
1,マルボロ吸いてー。
2,そうだコンビニへ行こう
3,財布を確認
4,どうやって行こうか
5,準備して家を出る
6,道中色々
7,コンビニ到着
8,コンビニ物色
9,予備で買わなければいいけないモノを示唆
10,カゴ買うモノを入れる
11,レジに行く
12,レジでタバコの番号を「N個クレ」という。
13,ホットスナックを示唆する
14,会計が出る
15,ポイントカードを出す
16,お金を払う
17,品物を受け取る
18,コンビニをでる
19,喫煙スポット検索
20,喫煙スポットへいく
21,道中色々
22,到着
23,タバコを開けて一本取り出す
24,ライターで火をつける
25,吸う
26ぷれじゅあぁあああああああああああ
2,そうだコンビニへ行こう
3,財布を確認
4,どうやって行こうか
5,準備して家を出る
6,道中色々
7,コンビニ到着
8,コンビニ物色
9,予備で買わなければいいけないモノを示唆
10,カゴ買うモノを入れる
11,レジに行く
12,レジでタバコの番号を「N個クレ」という。
13,ホットスナックを示唆する
14,会計が出る
15,ポイントカードを出す
16,お金を払う
17,品物を受け取る
18,コンビニをでる
19,喫煙スポット検索
20,喫煙スポットへいく
21,道中色々
22,到着
23,タバコを開けて一本取り出す
24,ライターで火をつける
25,吸う
26ぷれじゅあぁあああああああああああ
2019/12/02(月) 17:39:36.73ID:54OAxivC
タバコに火をつける時は、咥えて軽くチューブを吸わないとつかないのDA!!
87デフォルトの名無しさん
2019/12/02(月) 21:58:19.49ID:gdxsQr6e88デフォルトの名無しさん
2019/12/02(月) 22:05:34.98ID:gdxsQr6e >>87
すいません Python です
すいません Python です
2019/12/02(月) 22:07:19.69ID:/Z+nXxB0
>>76
どゆ意味?
どゆ意味?
2019/12/02(月) 22:09:31.28ID:az4xQt0G
示唆 ってナニ
91デフォルトの名無しさん
2019/12/03(火) 01:47:20.32ID:dBsSbed7 令和元年(2019年)8月25日(日)・(再)9月1日(日)
テーマ: 未来につながる力を学ぶ プログラミング教育
内容: 2020年度から小学校で始まる「プログラミング教育」。
一体どんな授業が行われるのか?番組では一足先に
プログラミングを取り入れた授業を行っている小学校を取材。
そこには生き生きと楽しく学ぶ子供たちの姿が。さらに、
実際に授業で使われている教材で、徳光さんがプログラミングに初挑戦!
今回は文部科学省プログラミング教育戦略マネージャーの中川哲さんと共に、
進化する学び、「プログラミング教育」に迫ります。
https://www.gov-online.go.jp/pr/media/tv/shiritai/movie/20190825.html
動画は上のURLにある
テーマ: 未来につながる力を学ぶ プログラミング教育
内容: 2020年度から小学校で始まる「プログラミング教育」。
一体どんな授業が行われるのか?番組では一足先に
プログラミングを取り入れた授業を行っている小学校を取材。
そこには生き生きと楽しく学ぶ子供たちの姿が。さらに、
実際に授業で使われている教材で、徳光さんがプログラミングに初挑戦!
今回は文部科学省プログラミング教育戦略マネージャーの中川哲さんと共に、
進化する学び、「プログラミング教育」に迫ります。
https://www.gov-online.go.jp/pr/media/tv/shiritai/movie/20190825.html
動画は上のURLにある
92デフォルトの名無しさん
2019/12/03(火) 17:02:12.57ID:/pkZgP0J2019/12/03(火) 19:25:09.89ID:mUaHu9IR
94デフォルトの名無しさん
2019/12/03(火) 20:10:35.90ID:aor79FgV95デフォルトの名無しさん
2019/12/04(水) 09:18:44.13ID:MGV4EHAd 永久に出ないんじゃないかなPrel5なんて
2019/12/04(水) 12:00:08.84ID:aCqgWIP/
プレル・ふぁいぶ ならショウガナイ
97デフォルトの名無しさん
2019/12/04(水) 12:58:50.91ID:61i6ZWvj print(isletter(c)
98デフォルトの名無しさん
2019/12/04(水) 13:07:17.16ID:61i6ZWvj >>97
すいません。ブロックされて書き込みができないのでいろいろテスト中。
すいません。ブロックされて書き込みができないのでいろいろテスト中。
99デフォルトの名無しさん
2019/12/04(水) 17:21:06.21ID:0j0R5u4a100デフォルトの名無しさん
2019/12/04(水) 22:22:08.38ID:gi4YpuTv101デフォルトの名無しさん
2019/12/04(水) 23:37:13.25ID:h1My/is4 お題: 1~100までの数列の和を計算する
102デフォルトの名無しさん
2019/12/04(水) 23:58:51.63ID:+9nEsnh/103デフォルトの名無しさん
2019/12/05(木) 00:15:30.27ID:5juZ/T5v104デフォルトの名無しさん
2019/12/05(木) 06:49:18.13ID:5PaJAEA2 return 100*101/2;
105デフォルトの名無しさん
2019/12/05(木) 07:16:44.06ID:P/hgT5Y1 >>104
なぜ return 5050; でないのか小一時間ほど問い詰めたい
なぜ return 5050; でないのか小一時間ほど問い詰めたい
106デフォルトの名無しさん
2019/12/05(木) 07:38:40.50ID:5PaJAEA2 自分で計算したくないから
107デフォルトの名無しさん
2019/12/05(木) 07:40:32.01ID:8H7awdOo 最適化されるから一緒
意図がわからない
変数に置き換えて汎用化できない
一時間しゃべってみろよおい
意図がわからない
変数に置き換えて汎用化できない
一時間しゃべってみろよおい
108デフォルトの名無しさん
2019/12/05(木) 07:43:45.56ID:5PaJAEA2109デフォルトの名無しさん
2019/12/05(木) 07:46:36.80ID:5PaJAEA2110デフォルトの名無しさん
2019/12/05(木) 07:47:29.56ID:5PaJAEA2 5文字少ない
だけかな?
だけかな?
111デフォルトの名無しさん
2019/12/05(木) 10:43:44.48ID:P/hgT5Y1112デフォルトの名無しさん
2019/12/05(木) 13:14:45.51ID:2uRKrxFi +1
は手計算の手間もないし見ればわかる
非常に利点が少なく
文字入力の手間が相対的に大きくなる
は手計算の手間もないし見ればわかる
非常に利点が少なく
文字入力の手間が相対的に大きくなる
113デフォルトの名無しさん
2019/12/05(木) 13:17:19.85ID:2uRKrxFi どっちでも大差無いけど
114デフォルトの名無しさん
2019/12/05(木) 13:21:01.46ID:2uRKrxFi 次は>>105の利点を語ってくれよ
小一時間
小一時間
115デフォルトの名無しさん
2019/12/05(木) 14:27:21.66ID:esMh+bxM116デフォルトの名無しさん
2019/12/05(木) 14:31:48.40ID:esMh+bxM ま、しかし、昔々算数で四角を描いて 100 * (100 + 1) / 2 で出来ると習ったような気がするので馬鹿正直に1から100まで足す必要はないな。
117デフォルトの名無しさん
2019/12/05(木) 15:17:30.85ID:2uRKrxFi 工夫出来るところは工夫する
>>105は間違った工夫の例
>>105は間違った工夫の例
118デフォルトの名無しさん
2019/12/05(木) 18:32:49.00ID:27clmKvC >>105が小一時間いったい何を問い詰めるつもりだったのか気になる
119デフォルトの名無しさん
2019/12/05(木) 18:59:48.69ID:2GEt9xQA おっすおら小一時間!
これからの議論におらわくわくすっぞ!
これからの議論におらわくわくすっぞ!
120デフォルトの名無しさん
2019/12/05(木) 20:44:21.68ID:lop64poz121デフォルトの名無しさん
2019/12/05(木) 21:05:41.72ID:jKYC5XJL 決まり文句のネタレスにえらく執着すんねw
122デフォルトの名無しさん
2019/12/05(木) 21:06:33.94ID:5PaJAEA2 1個目の関数で値だけ返すほうが簡単じゃ?
123デフォルトの名無しさん
2019/12/05(木) 21:35:53.74ID:P/hgT5Y1 >>118
お前のアホさとか、多分一時間じゃ足りないw
お前のアホさとか、多分一時間じゃ足りないw
124デフォルトの名無しさん
2019/12/05(木) 21:36:32.26ID:P/hgT5Y1 >>117
中途半端な工夫ならしないほうがマシ
中途半端な工夫ならしないほうがマシ
125デフォルトの名無しさん
2019/12/05(木) 21:55:42.81ID:5PaJAEA2 出て来れないと思ったのに
面の皮厚いね
面の皮厚いね
126デフォルトの名無しさん
2019/12/05(木) 22:09:17.41ID:P/hgT5Y1 >>111にレスできないアホがなにか言ってるなw
127デフォルトの名無しさん
2019/12/05(木) 22:40:10.86ID:JeZRd2se 小一時間とかサムいフレーズでウケると思ってるからウザがられんだよ
128デフォルトの名無しさん
2019/12/05(木) 23:12:12.53ID:2GEt9xQA 俺は別にうざがってないぞ
なに全員がうざがってるみたいなまとめ方するんだよ
なに全員がうざがってるみたいなまとめ方するんだよ
129デフォルトの名無しさん
2019/12/05(木) 23:23:32.05ID:d0dfL3uy いいからおまえはどっかで2GEtしてこい
130デフォルトの名無しさん
2019/12/05(木) 23:25:08.31ID:8H7awdOo 小一時間問い詰めるとか
具体的に想像すると陰湿極まりないパワハラが思い浮かぶ
具体的に想像すると陰湿極まりないパワハラが思い浮かぶ
131デフォルトの名無しさん
2019/12/05(木) 23:35:21.46ID:LiE2fHBS 5ch初心者かよw
132デフォルトの名無しさん
2019/12/05(木) 23:39:56.44ID:8H7awdOo 5chのプロかよ
133デフォルトの名無しさん
2019/12/05(木) 23:56:23.39ID:uvnytkqs こんな煽り合い久々に見たw
134デフォルトの名無しさん
2019/12/06(金) 00:22:47.16ID:N/M0C4CM135デフォルトの名無しさん
2019/12/06(金) 01:10:21.76ID:Rsc9FZ2h 用語とか以前に粘着っぷりがやばい
136デフォルトの名無しさん
2019/12/06(金) 02:06:00.29ID:RapGeMK4 背筋がサムくなるからもうやめてくれないかな
137デフォルトの名無しさん
2019/12/06(金) 03:33:54.64ID:BprTHIND ものすごい速度で羊を数えてください
1 sheep two sheep three sheep four sheep ...........
1 sheep two sheep three sheep four sheep ...........
138デフォルトの名無しさん
2019/12/06(金) 05:57:24.96ID:Ket1H4Yu139デフォルトの名無しさん
2019/12/06(金) 06:42:40.11ID:yuBnjbMi140デフォルトの名無しさん
2019/12/06(金) 14:03:18.53ID:zI729h7a141デフォルトの名無しさん
2019/12/06(金) 22:43:04.72ID:7FicwbM7142デフォルトの名無しさん
2019/12/06(金) 22:53:13.95ID:7FicwbM7 >>101 Perl5
sub Y_combinator { my $f = shift;
sub { my $x = shift; $x->($x) }->(
sub { my $y = shift;
$f->(sub {$y->($y)(@_)}) }
)
}
my $series = sub {my $f = shift;
sub { my $n = shift; $n and $n + $f->($n - 1) }
};
print Y_combinator($series)->(100);
sub Y_combinator { my $f = shift;
sub { my $x = shift; $x->($x) }->(
sub { my $y = shift;
$f->(sub {$y->($y)(@_)}) }
)
}
my $series = sub {my $f = shift;
sub { my $n = shift; $n and $n + $f->($n - 1) }
};
print Y_combinator($series)->(100);
143蟻人間 ◆T6xkBnTXz7B0
2019/12/06(金) 23:19:56.34ID:jz2bvt/z お題: 丸カッコと空白の並びで構成される入力文字列がある。丸カッコは入れ子になっていてそれぞれペアになっている。入力文字列は奇数文字数である。
プレーヤー1は、最初に入力文字列の一番左端に居る。プレーヤー2は最初に入力文字列の一番右端に居る。各プレーヤーは一回のアクションで次のいずれかの動作が可能。
(あ) カッコを飛び越えずにひとつ左か右に移動する。ただし、入力文字列の外側には移動できない。
(い) プレーヤーXがカッコAの外側に居て、AとXが隣接しているとき、XがカッコAに対応する別のカッコBの外側の端に移動する。
(う) カッコをひとつまたいでひとつ左か右に移動する。
入力文字列に対してプレーヤー1と2を何度もターン制でアクションをさせてプレーヤーの位置が衝突するまで鬼ごっこをさせよ。
動かすのはランダムでも知能つきでも構わない。アクションごとに位置を表示せよ。
プレーヤー1は、最初に入力文字列の一番左端に居る。プレーヤー2は最初に入力文字列の一番右端に居る。各プレーヤーは一回のアクションで次のいずれかの動作が可能。
(あ) カッコを飛び越えずにひとつ左か右に移動する。ただし、入力文字列の外側には移動できない。
(い) プレーヤーXがカッコAの外側に居て、AとXが隣接しているとき、XがカッコAに対応する別のカッコBの外側の端に移動する。
(う) カッコをひとつまたいでひとつ左か右に移動する。
入力文字列に対してプレーヤー1と2を何度もターン制でアクションをさせてプレーヤーの位置が衝突するまで鬼ごっこをさせよ。
動かすのはランダムでも知能つきでも構わない。アクションごとに位置を表示せよ。
144蟻人間 ◆T6xkBnTXz7B0
2019/12/06(金) 23:33:56.47ID:jz2bvt/z 知能戦略の例)
鬼はなるべく近くなる方を選ぶ。
子どもは鬼からなるべく遠ざかるように動く。
鬼はなるべく近くなる方を選ぶ。
子どもは鬼からなるべく遠ざかるように動く。
145デフォルトの名無しさん
2019/12/07(土) 00:07:48.78ID:n8phrA6e 動き方がわかりません
1文字右が ( の場合
(あ)1文字右に動く
(い)右の ( に対応する ) の右の文字に動く
(う)2文字右に動く
のいずれかが出来る
ただし、(い) (う) の移動先が文字列の外になる場合は移動出来ない
でいい?
1文字右が ( の場合
(あ)1文字右に動く
(い)右の ( に対応する ) の右の文字に動く
(う)2文字右に動く
のいずれかが出来る
ただし、(い) (う) の移動先が文字列の外になる場合は移動出来ない
でいい?
146デフォルトの名無しさん
2019/12/07(土) 00:25:15.68ID:FrJsgiML あ と う は合わせられないか?
147デフォルトの名無しさん
2019/12/07(土) 00:25:52.72ID:7zlttp1T >>101 Perl5
no warnings 'experimental::signatures';
use feature qw(say signatures);
sub f($n) {$n and $n + f($n - 1)};
say f(100);
sub Y($f) { sub {$f->(Y($f))->(@_)} }
say Y(sub($f) { sub($n) { $n and $n + $f->($n - 1) } })->(100);
no warnings 'experimental::signatures';
use feature qw(say signatures);
sub f($n) {$n and $n + f($n - 1)};
say f(100);
sub Y($f) { sub {$f->(Y($f))->(@_)} }
say Y(sub($f) { sub($n) { $n and $n + $f->($n - 1) } })->(100);
148デフォルトの名無しさん
2019/12/07(土) 00:44:47.39ID:7zlttp1T >>101 Perl5
no warnings 'experimental::signatures';
use feature qw(say signatures);
sub Y($f) { sub {$f->(Y($f))->(@_)} } # Y combinator w/ recursive
$s = sub ($n) {$n and $n + $s->($n - 1)}; # calc series recursive
say Y(sub ($f) { $s })->(100);
no warnings 'experimental::signatures';
use feature qw(say signatures);
sub Y($f) { sub {$f->(Y($f))->(@_)} } # Y combinator w/ recursive
$s = sub ($n) {$n and $n + $s->($n - 1)}; # calc series recursive
say Y(sub ($f) { $s })->(100);
149デフォルトの名無しさん
2019/12/07(土) 01:33:07.92ID:7zlttp1T150デフォルトの名無しさん
2019/12/07(土) 03:39:00.62ID:GrS1V5od お題
1以上、20以下の整数がランダムに10個与えられます。
与えられた整数の集合から1つ以上の整数を抜き出し、残った整数の集合からまた1つ以上の整数を抜き出します。
この時2つの抜き出した整数の集合のそれぞれの和が同値であり、かつ最小のものを出力して下さい。
例
与えられた整数の集合 : 2 3 4 5 6 7 8 9 10 11
期待される出力 : 5
この場合、与えられた整数の集合から
「2,3」「5」の整数を抜き出しています。
1以上、20以下の整数がランダムに10個与えられます。
与えられた整数の集合から1つ以上の整数を抜き出し、残った整数の集合からまた1つ以上の整数を抜き出します。
この時2つの抜き出した整数の集合のそれぞれの和が同値であり、かつ最小のものを出力して下さい。
例
与えられた整数の集合 : 2 3 4 5 6 7 8 9 10 11
期待される出力 : 5
この場合、与えられた整数の集合から
「2,3」「5」の整数を抜き出しています。
151デフォルトの名無しさん
2019/12/07(土) 03:47:40.06ID:GrS1V5od152デフォルトの名無しさん
2019/12/07(土) 04:00:27.84ID:G4M88S/c ・「同値」の意味が謎
・解がない時の処理が謎(e.g. input: 9 10 11 12 13 14 15 16 17 18
・同値の使い方が間違っているのでそもそも「集合」の元が重複しないものとしてよいものか悩ましい
・解がない時の処理が謎(e.g. input: 9 10 11 12 13 14 15 16 17 18
・同値の使い方が間違っているのでそもそも「集合」の元が重複しないものとしてよいものか悩ましい
153デフォルトの名無しさん
2019/12/07(土) 04:23:11.90ID:GrS1V5od154デフォルトの名無しさん
2019/12/07(土) 05:16:02.53ID:HQTo5ewj ならば結局こういうことでよいのかね.
もとのスレを見ても出題者本人の主張が不明瞭なうえに二転三転していて気持ち悪いが.
与えられた数列を {a_n} に対して,
{a_n} の異なる項からなる任意の部分列の内それぞれの和が等しくなるものを {b_n}, {c_n} として
Σb_n (= Σc_n) が最小となる {b_n}, {c_n} を求めよ.
そして今回は b, c の項数をそれぞれ 2, 1 に限るものとすると.
もとのスレを見ても出題者本人の主張が不明瞭なうえに二転三転していて気持ち悪いが.
与えられた数列を {a_n} に対して,
{a_n} の異なる項からなる任意の部分列の内それぞれの和が等しくなるものを {b_n}, {c_n} として
Σb_n (= Σc_n) が最小となる {b_n}, {c_n} を求めよ.
そして今回は b, c の項数をそれぞれ 2, 1 に限るものとすると.
155デフォルトの名無しさん
2019/12/07(土) 05:38:25.75ID:GrS1V5od もう少し例を載せるべきでした。
すいません。
例えば
>>152
さんの解が存在しないとしているものですが、
9 10 11 12 13 14 15 16 17 18
を与えられた場合の出力は
21となります。(10,11と9,12)
入力が
1 1 1 1 1 1 1 1 1 1
の場合の出力は
1となります。(1と1)
すいません。
例えば
>>152
さんの解が存在しないとしているものですが、
9 10 11 12 13 14 15 16 17 18
を与えられた場合の出力は
21となります。(10,11と9,12)
入力が
1 1 1 1 1 1 1 1 1 1
の場合の出力は
1となります。(1と1)
156デフォルトの名無しさん
2019/12/07(土) 06:50:35.03ID:HQTo5ewj >>155
なるほど、概ね理解した
なるほど、概ね理解した
157デフォルトの名無しさん
2019/12/07(土) 09:57:16.56ID:WrheNqRo158デフォルトの名無しさん
2019/12/07(土) 15:33:28.08ID:WrheNqRo159デフォルトの名無しさん
2019/12/07(土) 16:28:15.65ID:tj55yZgB へなへななお題へなへなな回答
160デフォルトの名無しさん
2019/12/07(土) 20:45:08.83ID:HU7sPj+p >>150
この問題から関連して考えてたんだけど
5を
1 1 1 1 1
1 1 1 2
1 1 3
1 2 2
1 4
2 3
5
このように分割する方法は7通り、10だと42通りあった
数が与えられたとき何通りの分け方があるかどうやって計算するのか考えてたけど
そんな簡単な問題ではないようだった
とりあえず数が与えられたら上の例のように全ての分け方を列挙する
というのを問題としてみる
この問題から関連して考えてたんだけど
5を
1 1 1 1 1
1 1 1 2
1 1 3
1 2 2
1 4
2 3
5
このように分割する方法は7通り、10だと42通りあった
数が与えられたとき何通りの分け方があるかどうやって計算するのか考えてたけど
そんな簡単な問題ではないようだった
とりあえず数が与えられたら上の例のように全ての分け方を列挙する
というのを問題としてみる
161デフォルトの名無しさん
2019/12/07(土) 22:36:30.68ID:WrheNqRo162デフォルトの名無しさん
2019/12/07(土) 23:22:48.98ID:eT8T+vHJ 分割数でググれば考え方いっぱい出てくるよ
163デフォルトの名無しさん
2019/12/08(日) 13:36:47.70ID:jvur7pXC164デフォルトの名無しさん
2019/12/08(日) 13:57:09.43ID:FOSx0Jk/ >>154
最後の文はどこから出てきたの?
最後の文はどこから出てきたの?
165デフォルトの名無しさん
2019/12/08(日) 13:58:38.12ID:xElyalHo >>164
元のスレ
元のスレ
166デフォルトの名無しさん
2019/12/08(日) 14:21:04.90ID:FOSx0Jk/ しらんがな
167デフォルトの名無しさん
2019/12/08(日) 14:22:15.55ID:FOSx0Jk/ その制限が無い方がアルゴリズムとしておもしろい
制限があるとつまらなすぎる
制限があるとつまらなすぎる
168デフォルトの名無しさん
2019/12/08(日) 17:19:46.37ID:xElyalHo 知らんがなって
なら聞くなアホ
なら聞くなアホ
169デフォルトの名無しさん
2019/12/08(日) 17:53:26.22ID:FOSx0Jk/170デフォルトの名無しさん
2019/12/08(日) 19:17:22.87ID:DgjgjjxW 別に項数の制限はつけていませんよ
「項数の制限が無い」という事を省略したのに怒っているのならすいません。
ですが制限があるのなら普通に問題文に加えますし、別に書くほどの事では無いかな〜と
「項数の制限が無い」という事を省略したのに怒っているのならすいません。
ですが制限があるのなら普通に問題文に加えますし、別に書くほどの事では無いかな〜と
171デフォルトの名無しさん
2019/12/08(日) 19:37:55.14ID:KCeBLlvA172デフォルトの名無しさん
2019/12/08(日) 19:44:34.35ID:KCeBLlvA173デフォルトの名無しさん
2019/12/08(日) 20:22:49.16ID:KCeBLlvA ちなみにオーダーは大体O(N!)位です。(笑
174デフォルトの名無しさん
2019/12/08(日) 20:35:11.71ID:KCeBLlvA ギャグですけど、並列化は比較的簡単なのでそれで時間短縮はできます。
底の値をシェアードにすると早く終わります。Nになってると思うんだけど。
底の値をシェアードにすると早く終わります。Nになってると思うんだけど。
175デフォルトの名無しさん
2019/12/08(日) 20:48:51.01ID:KCeBLlvA 一回を関数に切り出して実行した場合、
一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。
多分。
一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。
多分。
176デフォルトの名無しさん
2019/12/08(日) 20:49:16.37ID:KCeBLlvA 一回を関数に切り出して実行した場合、
一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。
多分。
一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。
多分。
177デフォルトの名無しさん
2019/12/08(日) 20:59:32.19ID:KCeBLlvA ぐあ、重複した・・・。
178デフォルトの名無しさん
2019/12/08(日) 21:17:04.79ID:FKbRmDMb >>150
これは問題の設定がつまらないな。1〜20の中から10個を選んで元の集合を作るから、
結果に1個か2個の和しかほとんど現れず、集合の最初の方をパッと見ただけで
暗算でも分かってしまう。1〜5000の中から10個を選ぶ設定にすると、
結果がなしだったり、3個の和と4個の和だったり、2個の和と6個の和だったり、
変化に富んで面白くなる。https://ideone.com/kmihyT
例えば、リンク先にある
入力: [63, 70, 269, 949, 1337, 2670, 3538, 3764, 4183, 4320]
出力: Σ[3764, 4183] = Σ[63, 70, 269, 1337, 2670, 3538] = 7947
なんてパッと見では思いつかないから、コンピュータに探させる意義がある。
これは問題の設定がつまらないな。1〜20の中から10個を選んで元の集合を作るから、
結果に1個か2個の和しかほとんど現れず、集合の最初の方をパッと見ただけで
暗算でも分かってしまう。1〜5000の中から10個を選ぶ設定にすると、
結果がなしだったり、3個の和と4個の和だったり、2個の和と6個の和だったり、
変化に富んで面白くなる。https://ideone.com/kmihyT
例えば、リンク先にある
入力: [63, 70, 269, 949, 1337, 2670, 3538, 3764, 4183, 4320]
出力: Σ[3764, 4183] = Σ[63, 70, 269, 1337, 2670, 3538] = 7947
なんてパッと見では思いつかないから、コンピュータに探させる意義がある。
179デフォルトの名無しさん
2019/12/08(日) 21:27:36.39ID:KCeBLlvA180デフォルトの名無しさん
2019/12/08(日) 22:01:27.05ID:h14g0YSH181デフォルトの名無しさん
2019/12/08(日) 22:35:33.47ID:FKbRmDMb182デフォルトの名無しさん
2019/12/09(月) 00:06:03.91ID:QbXWD96q >>150
N!より速い方法ある?
N!より速い方法ある?
183デフォルトの名無しさん
2019/12/09(月) 00:53:44.24ID:rq2SBWAq >>182
動的計画法?
動的計画法?
184デフォルトの名無しさん
2019/12/09(月) 01:15:42.30ID:2eMu76Ef185デフォルトの名無しさん
2019/12/09(月) 01:57:50.57ID:2eMu76Ef bit演算で面倒なことやってたけどpairっての使えば良かったのか
186デフォルトの名無しさん
2019/12/09(月) 02:04:04.39ID:vzskLW// >>150 https://ideone.com/tKvgv3
By PyPy、 ノーマルpythonでは力業の(N=20)が8秒くらいかな、
力業が 2^N * N
最小値だけなら、N*数列の合計 = N^2 * 数の平均(/2) ででる(みたい?)
(自信ががないDP解)
By PyPy、 ノーマルpythonでは力業の(N=20)が8秒くらいかな、
力業が 2^N * N
最小値だけなら、N*数列の合計 = N^2 * 数の平均(/2) ででる(みたい?)
(自信ががないDP解)
187デフォルトの名無しさん
2019/12/09(月) 02:51:44.21ID:ElWitvQQ >>180
日本語が読め無い馬鹿発見
日本語が読め無い馬鹿発見
188デフォルトの名無しさん
2019/12/09(月) 04:54:54.63ID:wE9bCkNR189デフォルトの名無しさん
2019/12/09(月) 05:00:22.33ID:ElWitvQQ 必死なのはお前だろ
お前一人だけ日本語すらまともに読めてない馬鹿だって気づけよ
お前一人だけ日本語すらまともに読めてない馬鹿だって気づけよ
190デフォルトの名無しさん
2019/12/09(月) 06:12:33.29ID:wE9bCkNR うわっ、アホが無駄に絡んできたよw
191デフォルトの名無しさん
2019/12/09(月) 06:42:21.59ID:QCNDYaVq 明け方からどんだけ必死なんだよ
以降、劣等感の塊のID:wE9bCkNRくんが全レスしてくれるってよ!
以降、劣等感の塊のID:wE9bCkNRくんが全レスしてくれるってよ!
192デフォルトの名無しさん
2019/12/09(月) 06:46:34.43ID:PLlkWb6P こいつ少し上の方でレスバしてたアホやろ?
さんざん馬鹿にされて悔しい思いしたから早朝にちょろっと顔出してるんやろ
さんざん馬鹿にされて悔しい思いしたから早朝にちょろっと顔出してるんやろ
193デフォルトの名無しさん
2019/12/09(月) 07:23:51.05ID:RwnUxfkW 単芝ガイジ君、情けなさ過ぎて草
194デフォルトの名無しさん
2019/12/09(月) 12:30:02.62ID:G+LM1RHL >>192
自己紹介乙ww
自己紹介乙ww
195デフォルトの名無しさん
2019/12/09(月) 15:19:21.58ID:gONUrOAf https://ideone.com/aYEPpX
C++面白いな
C++面白いな
196デフォルトの名無しさん
2019/12/09(月) 15:48:30.74ID:gONUrOAf (sum[i].second & sum[i + 1].second) == 0
この比較はいらないのかな
これが重なってるならより小さい重なってない組合せが必ず存在するか
この比較はいらないのかな
これが重なってるならより小さい重なってない組合せが必ず存在するか
197デフォルトの名無しさん
2019/12/09(月) 21:07:53.73ID:l5WymCFL お題:2つの素数(2つは同じでもよい)の積で表される数は半素数と呼ばれる。
1万以下の半素数をすべて表示せよ。
1万以下の半素数をすべて表示せよ。
198デフォルトの名無しさん
2019/12/09(月) 21:20:18.06ID:QbXWD96q int prime[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,91};
199デフォルトの名無しさん
2019/12/09(月) 21:22:25.12ID:QbXWD96q 91じゃなかった
202デフォルトの名無しさん
2019/12/09(月) 22:42:10.29ID:QbXWD96q ふるいで5000以下の素数を求めて
2重ループで列挙
が速いかな
2重ループで列挙
が速いかな
203デフォルトの名無しさん
2019/12/09(月) 22:48:18.91ID:l5WymCFL204デフォルトの名無しさん
2019/12/10(火) 06:55:28.37ID:cIwr+d9F205デフォルトの名無しさん
2019/12/10(火) 07:06:32.14ID:qBy9puuu 問題の一区分である素数判定、並びに範囲内の素数列挙するコード
https://ideone.com/fGT115
~/bin/is_prime.exe 2 10000
とやれば1万までの素数が列挙され、
~/bin/is_prime.exe 2017
と1つ引数与えればそれだけ判定
引数無いとURLの用にOFする限界付近まで全部
1万までの素数出して、それパイプで処理したら楽かなと思った
https://ideone.com/fGT115
~/bin/is_prime.exe 2 10000
とやれば1万までの素数が列挙され、
~/bin/is_prime.exe 2017
と1つ引数与えればそれだけ判定
引数無いとURLの用にOFする限界付近まで全部
1万までの素数出して、それパイプで処理したら楽かなと思った
206デフォルトの名無しさん
2019/12/10(火) 08:49:47.69ID:92MPgAr5 5000までの素数で十分だって言ってるのに
207デフォルトの名無しさん
2019/12/10(火) 09:32:39.88ID:WOcT9SPT >>197
お題:このお題の回答を論理式で表すとどうなるでしょうか。
お題:このお題の回答を論理式で表すとどうなるでしょうか。
208デフォルトの名無しさん
2019/12/10(火) 09:53:12.04ID:gKYhlG5V >>207
それはプログラミングのお題なのか?
それはプログラミングのお題なのか?
209デフォルトの名無しさん
2019/12/10(火) 13:07:12.61ID:bINIS1ks また数(ry
210デフォルトの名無しさん
2019/12/10(火) 13:10:37.69ID:FDwwVytW 出題者はいろんな言語の表記方法を知りたいだけか?
数学やアルゴリズム的には全然おもしろくないのばかり
数学やアルゴリズム的には全然おもしろくないのばかり
211デフォルトの名無しさん
2019/12/10(火) 15:09:39.15ID:zIz8I18p212デフォルトの名無しさん
2019/12/10(火) 15:15:40.70ID:zIz8I18p213デフォルトの名無しさん
2019/12/10(火) 16:37:43.07ID:hI+yeapE214デフォルトの名無しさん
2019/12/10(火) 17:22:00.22ID:Ajx0JUvY 過去スレからお題引っ張りたいんだけど、有料会員じゃないからむりぽ
215デフォルトの名無しさん
2019/12/10(火) 17:45:48.68ID:qBy9puuu 2chscとかいうのが無料サルベージに向いていると聞いたことがある
216デフォルトの名無しさん
2019/12/10(火) 17:47:09.91ID:ClyY78bX >>214
普通のブラウザで見ても出ないんだっけ?
普通のブラウザで見ても出ないんだっけ?
217デフォルトの名無しさん
2019/12/10(火) 18:57:11.15ID:W3sLZ8lM218デフォルトの名無しさん
2019/12/10(火) 19:01:43.67ID:W3sLZ8lM 過去の良問があればおしえろください
219デフォルトの名無しさん
2019/12/10(火) 19:30:15.36ID:Ajx0JUvY >>216
見れた( ゚Д゚)
見れた( ゚Д゚)
220デフォルトの名無しさん
2019/12/10(火) 20:07:19.37ID:ClyY78bX221デフォルトの名無しさん
2019/12/10(火) 20:25:27.92ID:6QYDHDQi じゃあ四角形を全部違う大きさの円で埋める
222デフォルトの名無しさん
2019/12/10(火) 21:05:07.05ID:0RQ6ozIG >>207
答えは高々有限個の整数でしかないんだから論理式にはならない
答えは高々有限個の整数でしかないんだから論理式にはならない
223デフォルトの名無しさん
2019/12/10(火) 22:54:03.68ID:ZImsJVBi >>210
まあ、そんな所だね。このスレは競技プログラミングじゃないから、アルゴリズムや
パフォーマンスの追求よりは、各自が使う言語で楽な書き方ができるのを披露する方が多い。
>>203も可変長ベクトルへの再代入の繰り返しという非効率なことをやっているが、
自前のforループ不要で簡潔に書けるし、篩い落とす操作を忠実に表してもいる。
昔と違ってこれでも実用な速度で動くので、色々な書き方ができるようになった。
C#, Julia, PowerShellでも類似の書き方ができる(>>206の通り素数は5000までにした)。
C# https://ideone.com/YWc3f8
Julia https://ideone.com/8NdOe3
PowerShell https://ideone.com/DRoOMU
R https://ideone.com/34lnNQ
C#のstatic void Main()の中だけを抜き出したC#スクリプトも作って、それぞれの実行時間を
PowerShellの
measure-command {semiprime.exe}
measure-command {csi semiprime.csx}
measure-command {julia semiprime.jl}
measure-command {semiprime.ps1}
measure-command {rscript semiprime.R}
で計測すると、C#を1倍として、R 3.40倍、C#スクリプト 10.1倍、Julia 16.6倍、
PowerShell 199倍となった。PowerShellだけは延々と待たされ実用的でない。
他の4つはすぐに終わるが、右へ行くほどややもたつく。Rは遅いと言われているが、
スクリプト言語の中ではかなり速い。
まあ、そんな所だね。このスレは競技プログラミングじゃないから、アルゴリズムや
パフォーマンスの追求よりは、各自が使う言語で楽な書き方ができるのを披露する方が多い。
>>203も可変長ベクトルへの再代入の繰り返しという非効率なことをやっているが、
自前のforループ不要で簡潔に書けるし、篩い落とす操作を忠実に表してもいる。
昔と違ってこれでも実用な速度で動くので、色々な書き方ができるようになった。
C#, Julia, PowerShellでも類似の書き方ができる(>>206の通り素数は5000までにした)。
C# https://ideone.com/YWc3f8
Julia https://ideone.com/8NdOe3
PowerShell https://ideone.com/DRoOMU
R https://ideone.com/34lnNQ
C#のstatic void Main()の中だけを抜き出したC#スクリプトも作って、それぞれの実行時間を
PowerShellの
measure-command {semiprime.exe}
measure-command {csi semiprime.csx}
measure-command {julia semiprime.jl}
measure-command {semiprime.ps1}
measure-command {rscript semiprime.R}
で計測すると、C#を1倍として、R 3.40倍、C#スクリプト 10.1倍、Julia 16.6倍、
PowerShell 199倍となった。PowerShellだけは延々と待たされ実用的でない。
他の4つはすぐに終わるが、右へ行くほどややもたつく。Rは遅いと言われているが、
スクリプト言語の中ではかなり速い。
224デフォルトの名無しさん
2019/12/10(火) 22:54:55.70ID:ZImsJVBi >>217
じゃあ、これ解いてみる?
整数x, y, z, kに関する方程式x^3 + y^3 + z^3 = kの解を、k = 1から100までの場合について求めよ。
https://engineer.fabcross.jp/archeive/190921_charity-engine.html
じゃあ、これ解いてみる?
整数x, y, z, kに関する方程式x^3 + y^3 + z^3 = kの解を、k = 1から100までの場合について求めよ。
https://engineer.fabcross.jp/archeive/190921_charity-engine.html
225デフォルトの名無しさん
2019/12/10(火) 23:25:26.63ID:qBy9puuu k = 64, z = 4の時
任意の整数 を+-反転した組が x,yの解であり、その個数は無限
任意の整数 を+-反転した組が x,yの解であり、その個数は無限
226デフォルトの名無しさん
2019/12/10(火) 23:27:52.24ID:W3sLZ8lM なぜ
k=1, z=1
じゃない?
k=1, z=1
じゃない?
227デフォルトの名無しさん
2019/12/10(火) 23:47:24.77ID:qBy9puuu あとから追加されそうな条件の
仮に全部0以上の整数とした時に
5*5*5>125,100>4*4*4のメモ代り
仮に全部0以上の整数とした時に
5*5*5>125,100>4*4*4のメモ代り
228デフォルトの名無しさん
2019/12/10(火) 23:59:19.26ID:RjwvfByt k=1から100のどれかに対してじゃなくて、
k=1から100のそれぞれすべてに対して求めるんじゃろ…
k=1から100のそれぞれすべてに対して求めるんじゃろ…
229デフォルトの名無しさん
2019/12/11(水) 00:11:02.49ID:10jfhd7e230デフォルトの名無しさん
2019/12/11(水) 00:13:04.91ID:10jfhd7e C#の10000以下より速い!
231デフォルトの名無しさん
2019/12/11(水) 00:30:48.20ID:10jfhd7e >>224
k=1の時からいきなり難しいなあ
k=1の時からいきなり難しいなあ
232デフォルトの名無しさん
2019/12/11(水) 00:40:32.37ID:10jfhd7e233デフォルトの名無しさん
2019/12/11(水) 09:11:06.45ID:aadkbL3F234デフォルトの名無しさん
2019/12/11(水) 09:24:12.51ID:ztpKOEip >>233
awkのとここれどういう意味?わたし女騎士だけど教えて!
awkのとここれどういう意味?わたし女騎士だけど教えて!
235デフォルトの名無しさん
2019/12/11(水) 10:31:05.38ID:dG8VWZ74 >>234
女騎士?
まあいいや。NFが3になる行だけ出力するんだよ。NFはフィールド数ね。
区切り文字がデフォルトのままだと空白文字で区切った時の個数。例えば行に a b c って入ってたら 3 になる。
女騎士?
まあいいや。NFが3になる行だけ出力するんだよ。NFはフィールド数ね。
区切り文字がデフォルトのままだと空白文字で区切った時の個数。例えば行に a b c って入ってたら 3 になる。
236デフォルトの名無しさん
2019/12/11(水) 12:05:48.97ID:dG8VWZ74237デフォルトの名無しさん
2019/12/11(水) 13:38:08.03ID:ivhCTlPt238デフォルトの名無しさん
2019/12/11(水) 13:42:56.98ID:QbvBtpFM239デフォルトの名無しさん
2019/12/11(水) 14:03:27.78ID:jagg9gKF 普通にできたけど
何のシェル使ってるの?
何のシェル使ってるの?
240デフォルトの名無しさん
2019/12/11(水) 14:35:31.47ID:QbvBtpFM bash。macで。
241デフォルトの名無しさん
2019/12/11(水) 14:38:38.09ID:jagg9gKF 俺もbashもだけど
seq 100くらいなら動くの?
seq 100くらいなら動くの?
242デフォルトの名無しさん
2019/12/11(水) 15:36:13.32ID:QbvBtpFM $ seq 3 | factor で止めてawk飛ばすと以下の出力です。
Factor 0.98 x86.64 (1886, heads/master-211d69561a, Jul 2 2018 17:46:19)
[Clang (GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.29))] on macosx
IN: scratchpad
--- Data stack:
1
IN: scratchpad
--- Data stack:
1
2
IN: scratchpad
--- Data stack:
1
2
3
IN: scratchpad
Factor 0.98 x86.64 (1886, heads/master-211d69561a, Jul 2 2018 17:46:19)
[Clang (GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.29))] on macosx
IN: scratchpad
--- Data stack:
1
IN: scratchpad
--- Data stack:
1
2
IN: scratchpad
--- Data stack:
1
2
3
IN: scratchpad
243デフォルトの名無しさん
2019/12/11(水) 16:49:11.52ID:1E1+DBtw244デフォルトの名無しさん
2019/12/11(水) 17:02:16.44ID:hUZCfnLs factorみりゃわかんだろ……
素因数の数だっつーの
素因数の数だっつーの
245デフォルトの名無しさん
2019/12/11(水) 18:01:04.84ID:10jfhd7e 素因数の数が3?
246デフォルトの名無しさん
2019/12/11(水) 18:12:47.35ID:ivhCTlPt こんな具合だろ
seq 100 | ~/bin/factorization.pl| awk -F, "NF==2" | ~/bin/align.pl "=" 4 2,2
6 2,3
9 3,3
10 2,5
14 2,7
......
9995 5,1999
9997 13,769
9998 2,4999
seq 100 | ~/bin/factorization.pl| awk -F, "NF==2" | ~/bin/align.pl "=" 4 2,2
6 2,3
9 3,3
10 2,5
14 2,7
......
9995 5,1999
9997 13,769
9998 2,4999
247デフォルトの名無しさん
2019/12/11(水) 19:33:15.23ID:ReYSFEXH249デフォルトの名無しさん
2019/12/11(水) 20:44:53.42ID:WjX/lCwK QZがそういうなら合ってるんじゃないの?
250デフォルトの名無しさん
2019/12/11(水) 20:51:31.74ID:7CYZ1E2N 反面教師?
251デフォルトの名無しさん
2019/12/11(水) 20:54:12.94ID:7CYZ1E2N お題
1兆以下の半素数の個数を求めよ
これだとスクリプト系は無理かな?
1兆以下の半素数の個数を求めよ
これだとスクリプト系は無理かな?
252デフォルトの名無しさん
2019/12/11(水) 21:07:14.36ID:ivhCTlPt 素数判定で書いた
long long int のC言語でも100億ぐらいを上限でサポートしてる
100億以上の判定は遅くてより優れた判定アルゴリズムが必要だからだ
推定:C系、優れた判定、現代スペックのPCが必要
long long int のC言語でも100億ぐらいを上限でサポートしてる
100億以上の判定は遅くてより優れた判定アルゴリズムが必要だからだ
推定:C系、優れた判定、現代スペックのPCが必要
253デフォルトの名無しさん
2019/12/11(水) 21:11:52.35ID:7CYZ1E2N 素数判定する必要は無いよ
>>252
>long long int のC言語でも100億ぐらいを上限でサポートしてる
極めて不正確ですよ
C99 後は uint64_t の最大値は 1844'6744'0737'0955'1615=約 1844 京ですね
それに実際に割ってみる方法以外には素数判定があるとでも?そんなものは存在しませんね
>long long int のC言語でも100億ぐらいを上限でサポートしてる
極めて不正確ですよ
C99 後は uint64_t の最大値は 1844'6744'0737'0955'1615=約 1844 京ですね
それに実際に割ってみる方法以外には素数判定があるとでも?そんなものは存在しませんね
255デフォルトの名無しさん
2019/12/11(水) 22:15:54.42ID:10jfhd7e256デフォルトの名無しさん
2019/12/11(水) 22:46:17.34ID:10jfhd7e257デフォルトの名無しさん
2019/12/11(水) 23:52:51.14ID:VagVWTF0 知り合いから、「子供の宿題なんだけど解けない」と言われた。
「正方形13枚と正三角形を何枚か組み合わせて、凸多面体を作るとき、その頂点数は A 個または B 個である。ただし一つの頂点には同じ枚数の面が集まっているものとし、A < B とする。」
途中経過を適宜表記しつつ解くプログラムを!
「正方形13枚と正三角形を何枚か組み合わせて、凸多面体を作るとき、その頂点数は A 個または B 個である。ただし一つの頂点には同じ枚数の面が集まっているものとし、A < B とする。」
途中経過を適宜表記しつつ解くプログラムを!
258デフォルトの名無しさん
2019/12/12(木) 00:28:15.32ID:UvCIGzud A=19
B=38
B=38
259デフォルトの名無しさん
2019/12/12(木) 00:32:27.86ID:UvCIGzud260デフォルトの名無しさん
2019/12/12(木) 00:35:14.01ID:UvCIGzud 7個になるまで9秒
3乗して64bitに収まる範囲検索2031秒
3乗して64bitに収まる範囲検索2031秒
261デフォルトの名無しさん
2019/12/12(木) 00:42:16.14ID:UvCIGzud262デフォルトの名無しさん
2019/12/12(木) 00:44:42.94ID:UvCIGzud k=30, 33, 42, 52, 74, 75, 84
の時がわからん
の時がわからん
263デフォルトの名無しさん
2019/12/12(木) 06:06:40.97ID:wmbGd8tm264デフォルトの名無しさん
2019/12/12(木) 07:32:31.88ID:UvCIGzud265デフォルトの名無しさん
2019/12/12(木) 07:40:34.14ID:UvCIGzud266デフォルトの名無しさん
2019/12/12(木) 07:48:51.75ID:wmbGd8tm >>265
お前も馬鹿だな
簡単な関数で f が定義できるならそれはそのまま簡単な計算で素数判定ができることに他ならない
こちらはそんな方法が存在するといっているわけではなく、無配慮にそんなものは存在しないと一刀両断する数学的リテラシーの無さを指摘しているだけなんだが
お前も馬鹿だな
簡単な関数で f が定義できるならそれはそのまま簡単な計算で素数判定ができることに他ならない
こちらはそんな方法が存在するといっているわけではなく、無配慮にそんなものは存在しないと一刀両断する数学的リテラシーの無さを指摘しているだけなんだが
267デフォルトの名無しさん
2019/12/12(木) 08:00:21.80ID:UvCIGzud >>263
「簡単な関数でfが定義できる」
非常に重要な言葉を後付けだし
これが最初からあったとしても、
単に簡単に素数判定可能可能を言い換えただけの
何の意味もないレス
リテラシーの無さの指摘の方法が頭が悪い
「簡単な関数でfが定義できる」
非常に重要な言葉を後付けだし
これが最初からあったとしても、
単に簡単に素数判定可能可能を言い換えただけの
何の意味もないレス
リテラシーの無さの指摘の方法が頭が悪い
268デフォルトの名無しさん
2019/12/12(木) 08:08:21.73ID:UvCIGzud 現代の技術で言えば
特殊な形であれば高速に判定する方法はある
特殊な形でなければ高速に判定する方法は見つかっていない
実際に割ってみる以外の判別方法は存在する
特殊な形であれば高速に判定する方法はある
特殊な形でなければ高速に判定する方法は見つかっていない
実際に割ってみる以外の判別方法は存在する
269デフォルトの名無しさん
2019/12/12(木) 08:25:56.28ID:UvCIGzud なんでNやZじゃなくてRにしたのか気になる
270デフォルトの名無しさん
2019/12/12(木) 12:56:52.27ID:wmbGd8tm 文脈無視して揚げ足取ってて草
こいつ関数は全射しか存在しないとでも思ってんのか
こいつ関数は全射しか存在しないとでも思ってんのか
271デフォルトの名無しさん
2019/12/12(木) 14:55:31.47ID:2PtCb74v 単純な疑問だよ
なんかこだわりとか深い意味とかあるのかと
「実数が素である」とか書かれると、
素数じゃない別の意味を指してると思うわけで
揚げ足取られたと思ったってことは
ミスったと思ったんだよね?
なんかこだわりとか深い意味とかあるのかと
「実数が素である」とか書かれると、
素数じゃない別の意味を指してると思うわけで
揚げ足取られたと思ったってことは
ミスったと思ったんだよね?
272デフォルトの名無しさん
2019/12/12(木) 15:35:29.90ID:zRSUYply いつもの連投アスペ君じゃん
相手すんなよ
相手すんなよ
273デフォルトの名無しさん
2019/12/12(木) 17:58:27.01ID:2C/x7O5N 論破されて捨て台詞
の典型でした
の典型でした
274デフォルトの名無しさん
2019/12/12(木) 18:19:15.31ID:RcQND7/k 5chリテラシーが低いやつもだいぶ減ってはきてるが
このスレはちょいちょい出てくるよなぁ
このスレはちょいちょい出てくるよなぁ
275デフォルトの名無しさん
2019/12/12(木) 18:27:18.35ID:cffvEFbc >>263を書いておいて良くいうよ
276デフォルトの名無しさん
2019/12/12(木) 18:39:51.55ID:JPTMcftT 論破を禁止します
277デフォルトの名無しさん
2019/12/12(木) 19:05:41.21ID:f2lx0DlC まーたロンパンジーが湧いてんのかよ
278デフォルトの名無しさん
2019/12/12(木) 19:12:35.43ID:cffvEFbc リテラシー君
よほど悔しかったのかな?
よほど悔しかったのかな?
>>256
単に上限値を増やしただけのお題なんて糞だと思います
単に上限値を増やしただけのお題なんて糞だと思います
281デフォルトの名無しさん
2019/12/12(木) 19:18:20.83ID:cffvEFbc282デフォルトの名無しさん
2019/12/12(木) 20:55:40.30ID:uIjgN9ep お題:
(A) 階乗の下z桁がすべて0となるような最小の自然数を、z = 1, 12, 123, 1234, 12345,
123456, 1234567, 12345678, 123456789の各場合について求めよ。存在しないときは
そう表示せよ。
(B) (A)の「下z桁がすべて0となる」という条件を「0である桁がz個となる」に置き換えて解け。
(A)はちょっと考えれば簡単に解ける。(B)はどうか知らない。多桁整数計算ができるJuliaでは
z = 12345までは力任せでも求められたが。
(A) 階乗の下z桁がすべて0となるような最小の自然数を、z = 1, 12, 123, 1234, 12345,
123456, 1234567, 12345678, 123456789の各場合について求めよ。存在しないときは
そう表示せよ。
(B) (A)の「下z桁がすべて0となる」という条件を「0である桁がz個となる」に置き換えて解け。
(A)はちょっと考えれば簡単に解ける。(B)はどうか知らない。多桁整数計算ができるJuliaでは
z = 12345までは力任せでも求められたが。
283デフォルトの名無しさん
2019/12/12(木) 21:21:19.99ID:qa03h3dy 5で割っていく感じだから
整数無視して無限に割ると
おおまかに4で割った感じの数0が並ぶ
126! は4で割って31ぐらい
整数無視して無限に割ると
おおまかに4で割った感じの数0が並ぶ
126! は4で割って31ぐらい
284デフォルトの名無しさん
2019/12/12(木) 22:14:34.83ID:WrPVO4K2 連投論破野郎が論破されてて草
285デフォルトの名無しさん
2019/12/12(木) 23:15:10.76ID:UvCIGzud (A)だけ C++
https://ideone.com/LTC90E
https://ideone.com/LTC90E
286デフォルトの名無しさん
2019/12/12(木) 23:18:50.66ID:UvCIGzud (B)は実際に下限から順番に計算していかないとダメじゃないか?
287デフォルトの名無しさん
2019/12/12(木) 23:52:01.98ID:UvCIGzud n ! のゼロの個数は大雑把にはこのくらい
log_10(n !) / 10 + n * 9 / 40
逆算すれば大体の値はわかる
でも最小値だから正確に求めるのには使えない
log_10(n !) / 10 + n * 9 / 40
逆算すれば大体の値はわかる
でも最小値だから正確に求めるのには使えない
288デフォルトの名無しさん
2019/12/13(金) 18:36:38.11ID:0Lb/VhZx [お題]
今月(2019/12)の13日は金曜日。
開始年月と終了年月が与えられる。年は西暦、年月区切りは"/"。
開始年月一日から終了年月末日の間で"13日の金曜日"は何回あるか。
現在のグレゴリオ歴ルールで、終了年月末日まで変わらないとする。
制約: 1970 <= 年 <= 300億, 1 <= 月 <= 12, 開始年月 <= 終了年月
1) 2019/1 2019/12 --> 2 // 今年は9月と12月が該当
2) 1980/1 2012/12 --> 57
3) 213456/8 453212/4 --> 412380
4) 2000/1 2399/12 -->?
5) 2000/11 2800/9 -->?
6) 123456789/11 7301177081/10 -->?
7) 1970/1 30000000000/12 --> 51599996613
※数十万年程度だと力技だけで回っちゃうので、難易度調整で300億に。
wikiの"グレゴリオ歴#暦法" https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6#%E6%9A%A6%E6%B3%95
今月(2019/12)の13日は金曜日。
開始年月と終了年月が与えられる。年は西暦、年月区切りは"/"。
開始年月一日から終了年月末日の間で"13日の金曜日"は何回あるか。
現在のグレゴリオ歴ルールで、終了年月末日まで変わらないとする。
制約: 1970 <= 年 <= 300億, 1 <= 月 <= 12, 開始年月 <= 終了年月
1) 2019/1 2019/12 --> 2 // 今年は9月と12月が該当
2) 1980/1 2012/12 --> 57
3) 213456/8 453212/4 --> 412380
4) 2000/1 2399/12 -->?
5) 2000/11 2800/9 -->?
6) 123456789/11 7301177081/10 -->?
7) 1970/1 30000000000/12 --> 51599996613
※数十万年程度だと力技だけで回っちゃうので、難易度調整で300億に。
wikiの"グレゴリオ歴#暦法" https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6#%E6%9A%A6%E6%B3%95
289デフォルトの名無しさん
2019/12/13(金) 20:06:08.48ID:KAf60mjk 300億にしても年の曜日は14パターンしか無いのであっという間に解ける気が…
曜日は400年周期だから400年分求めればあとは割り算するだけかな?
曜日は400年周期だから400年分求めればあとは割り算するだけかな?
290デフォルトの名無しさん
2019/12/13(金) 20:15:02.20ID:QuzLYYNu291デフォルトの名無しさん
2019/12/13(金) 20:16:51.71ID:QuzLYYNu >>289
今日やらないとダメだよ
今日やらないとダメだよ
292デフォルトの名無しさん
2019/12/13(金) 20:32:32.43ID:7JZ8Vcg3 >>288
ずるいやり方だが、取り敢えずPowerShellに
1..12 |? {([DateTime]"2000/$_/13").DayOfWeek -eq "Friday"}
1..12 |? {([DateTime]"2400/$_/13").DayOfWeek -eq "Friday"}
と打ち込んでみると、
10
10
と表示され、2000年と2400年の13日の金曜日は10月で一致する。
これと閏年調整のパターンが400年周期であることを組み合わせると、
13日の金曜日の出現パターンも400年周期になることが分かる。
だから、400年分の表を作ってしまえば、遅いPowerShellでも余裕で解ける。
https://ideone.com/oV7JFk
--- 実行結果 ---
2019/1 2019/12 -> 2
1980/1 2012/12 -> 57
213456/8 453212/4 -> 412380
2000/1 2399/12 -> 688
2000/11 2800/9 -> 1375
123456789/11 7301177081/10 -> 12345678901
1970/1 30000000000/12 -> 51599996613
ずるいやり方だが、取り敢えずPowerShellに
1..12 |? {([DateTime]"2000/$_/13").DayOfWeek -eq "Friday"}
1..12 |? {([DateTime]"2400/$_/13").DayOfWeek -eq "Friday"}
と打ち込んでみると、
10
10
と表示され、2000年と2400年の13日の金曜日は10月で一致する。
これと閏年調整のパターンが400年周期であることを組み合わせると、
13日の金曜日の出現パターンも400年周期になることが分かる。
だから、400年分の表を作ってしまえば、遅いPowerShellでも余裕で解ける。
https://ideone.com/oV7JFk
--- 実行結果 ---
2019/1 2019/12 -> 2
1980/1 2012/12 -> 57
213456/8 453212/4 -> 412380
2000/1 2399/12 -> 688
2000/11 2800/9 -> 1375
123456789/11 7301177081/10 -> 12345678901
1970/1 30000000000/12 -> 51599996613
293デフォルトの名無しさん
2019/12/13(金) 20:57:37.29ID:7JZ8Vcg3 >>285
正解。例によってRで簡潔に書いた解答例: https://ideone.com/RhEtiC
>>287
やっぱり無理か。ちなみに、Juliaでz = 12345まで力任せで求めるプログラム
https://ideone.com/iqMYLa
--- 実行結果 ---
階乗の0である桁が1個になる最小値は5です。
階乗の0である桁が12個になる最小値は37です。
階乗の0である桁が123個になる最小値は299です。
階乗の0である桁が1234個になる最小値は2414です。
階乗の0である桁が12345個になる最小値は20177です。
正解。例によってRで簡潔に書いた解答例: https://ideone.com/RhEtiC
>>287
やっぱり無理か。ちなみに、Juliaでz = 12345まで力任せで求めるプログラム
https://ideone.com/iqMYLa
--- 実行結果 ---
階乗の0である桁が1個になる最小値は5です。
階乗の0である桁が12個になる最小値は37です。
階乗の0である桁が123個になる最小値は299です。
階乗の0である桁が1234個になる最小値は2414です。
階乗の0である桁が12345個になる最小値は20177です。
294デフォルトの名無しさん
2019/12/13(金) 21:27:38.91ID:QuzLYYNu295デフォルトの名無しさん
2019/12/13(金) 22:22:01.90ID:QuzLYYNu 123456個は存在しない
296デフォルトの名無しさん
2019/12/13(金) 23:21:15.30ID:QuzLYYNu 123457桁になる 30484!
から
下位に0が123457個続く 493840!
までの間に存在しない事を示せば
存在しない証明になりますが
もっと範囲を絞った証明は出来ないですかねえ
確率的には>>287の付近だけ調べれば良いんですが...
から
下位に0が123457個続く 493840!
までの間に存在しない事を示せば
存在しない証明になりますが
もっと範囲を絞った証明は出来ないですかねえ
確率的には>>287の付近だけ調べれば良いんですが...
297デフォルトの名無しさん
2019/12/13(金) 23:47:17.94ID:r78PztnN 全部調べる感じでぶん回してるけど1234567までが長いお(´・ω・`) (123456は>>295の言う通り出なかった)
1時間ぶん回して900000!まで行ったが…
1時間ぶん回して900000!まで行ったが…
298デフォルトの名無しさん
2019/12/13(金) 23:49:02.36ID:r2S5lo/C 数学でワープできる分手計算のほうが早い
299デフォルトの名無しさん
2019/12/13(金) 23:49:38.96ID:QuzLYYNu kwsk
300デフォルトの名無しさん
2019/12/13(金) 23:50:22.63ID:r2S5lo/C >283
301デフォルトの名無しさん
2019/12/13(金) 23:52:09.33ID:QuzLYYNu (A)は解決済み
(B)の話
(B)の話
302デフォルトの名無しさん
2019/12/13(金) 23:53:42.34ID:QuzLYYNu 数学で絞れるのは>>296くらいかと
303デフォルトの名無しさん
2019/12/13(金) 23:56:32.85ID:QuzLYYNu 下限の n! を計算するのは速い
そこから順番に1個ずつnを増やしていって
0を数えていかないとならない
見つからなければ上限までずっと
そこから順番に1個ずつnを増やしていって
0を数えていかないとならない
見つからなければ上限までずっと
304デフォルトの名無しさん
2019/12/13(金) 23:59:51.46ID:QuzLYYNu ちなみに私、東大の数学科卒なんで
305デフォルトの名無しさん
2019/12/14(土) 00:07:59.08ID:ruM/1CH5 ワープ
(* 4 1234567) 4938268
(/ 4938268 5.0) 987653.6
(/ 987653 5.0) 197530.6
(/ 197530 5.0) 39506.0
(/ 39506 5.0) 7901.2
(/ 7901 5.0) 1580.2
(/ 1580 5.0) 316.0
(/ 316 5.0) 63.2
(/ 63 5.0) 12.6
(/ 12 5.0) 2.4
(+ 987653 197530 39506 7901 1580 316 63 12 2) 1234563
(* 4 1234567) 4938268
(/ 4938268 5.0) 987653.6
(/ 987653 5.0) 197530.6
(/ 197530 5.0) 39506.0
(/ 39506 5.0) 7901.2
(/ 7901 5.0) 1580.2
(/ 1580 5.0) 316.0
(/ 316 5.0) 63.2
(/ 63 5.0) 12.6
(/ 12 5.0) 2.4
(+ 987653 197530 39506 7901 1580 316 63 12 2) 1234563
306デフォルトの名無しさん
2019/12/14(土) 00:14:15.42ID:03SKvnKb307デフォルトの名無しさん
2019/12/14(土) 00:15:48.22ID:ruM/1CH5 Bの話か
308デフォルトの名無しさん
2019/12/14(土) 02:58:36.56ID:03SKvnKb 階乗の0である桁が1234567個になる最小値は1542987です。
お、出た…4時間か
お、出た…4時間か
309デフォルトの名無しさん
2019/12/14(土) 03:55:22.51ID:DhSlagHw お題: 目覚まし時計の現在時刻とアラーム時刻が入力されるので、待機時間を出力しなさい
例:
現在時刻 = 10:00
アラーム時刻 = 16:00
待機時間 = 06:00
現在時刻 = 22:00
アラーム時刻 = 04:00
待機時間 = 06:00
例:
現在時刻 = 10:00
アラーム時刻 = 16:00
待機時間 = 06:00
現在時刻 = 22:00
アラーム時刻 = 04:00
待機時間 = 06:00
310デフォルトの名無しさん
2019/12/14(土) 09:12:53.23ID:ruM/1CH5 >>309
これだな
https://paiza.io/projects/GgkMgqOqyzwwgbmu-Fn-Vg
~/bin/sleep.pl 10:00
2909 00:48:29
のように使ってる
これだな
https://paiza.io/projects/GgkMgqOqyzwwgbmu-Fn-Vg
~/bin/sleep.pl 10:00
2909 00:48:29
のように使ってる
311デフォルトの名無しさん
2019/12/14(土) 09:59:37.97ID:Lp9CT80F >>304
進振り何点だった? 連投アスペ君
進振り何点だった? 連投アスペ君
312デフォルトの名無しさん
2019/12/14(土) 22:12:52.90ID:8CJijD11 >>309
この手の処理はPowerShellが得意だな。
function WaitingTime($now, $alarm)
{
$wait = [DateTime]$alarm - [DateTime]$now
if ($wait -lt 0) {$wait += [TimeSpan]"12:00" + [TimeSpan]"12:00"}
"現在時刻 = $now"
"アラーム時刻 = $alarm"
"待機時刻 = $wait"
""
}
WaitingTime 10:00 16:00
WaitingTime 22:00 4:00
WaitingTime 12:34:56 1:23:45
--- 実行結果 ---
現在時刻 = 10:00
アラーム時刻 = 16:00
待機時刻 = 06:00:00
現在時刻 = 22:00
アラーム時刻 = 4:00
待機時刻 = 06:00:00
現在時刻 = 12:34:56
アラーム時刻 = 1:23:45
待機時刻 = 12:48:49
この手の処理はPowerShellが得意だな。
function WaitingTime($now, $alarm)
{
$wait = [DateTime]$alarm - [DateTime]$now
if ($wait -lt 0) {$wait += [TimeSpan]"12:00" + [TimeSpan]"12:00"}
"現在時刻 = $now"
"アラーム時刻 = $alarm"
"待機時刻 = $wait"
""
}
WaitingTime 10:00 16:00
WaitingTime 22:00 4:00
WaitingTime 12:34:56 1:23:45
--- 実行結果 ---
現在時刻 = 10:00
アラーム時刻 = 16:00
待機時刻 = 06:00:00
現在時刻 = 22:00
アラーム時刻 = 4:00
待機時刻 = 06:00:00
現在時刻 = 12:34:56
アラーム時刻 = 1:23:45
待機時刻 = 12:48:49
313デフォルトの名無しさん
2019/12/15(日) 00:16:05.00ID:K3IRPfAN314デフォルトの名無しさん
2019/12/15(日) 06:09:40.92ID:K3IRPfAN お題: あなたは研究所で助手をしています
ある日、博士からこんな手紙が届きました
助手よ。この数値の名前を教えて欲しい
16776960
あなたは博士に返事を書こうと思います
その返事の内容をお答えください
ある日、博士からこんな手紙が届きました
助手よ。この数値の名前を教えて欲しい
16776960
あなたは博士に返事を書こうと思います
その返事の内容をお答えください
315デフォルトの名無しさん
2019/12/15(日) 07:44:00.84ID:VJoyKt1C >>314 直感
Yellow
Yellow
316デフォルトの名無しさん
2019/12/15(日) 10:09:42.34ID:/SOvb5b/ 黄色だな
317デフォルトの名無しさん
2019/12/15(日) 11:56:51.84ID:wptEtnNg お題
与えられた自然数の0を全て右端に寄せる
例
2019 -> 2190
102030 -> 123000
123 -> 123
与えられた自然数の0を全て右端に寄せる
例
2019 -> 2190
102030 -> 123000
123 -> 123
318デフォルトの名無しさん
2019/12/15(日) 12:02:23.68ID:fpSJINfx >>309
Ruby で、
require 'active_support/time'
def calculate_time_span( now, alarm )
current = Time.now
now_time = Time.parse( now, current ) #=> 2019-12-15 22:00:00 +0900
alarm_time = Time.parse( alarm, current ) #=> 2019-12-15 04:00:00 +0900
diff_time = alarm_time - now_time
# アラームが翌日の場合
diff_time = alarm_time.tomorrow - now_time if diff_time < 0
Time.at( diff_time ).utc.strftime( '%H:%M' )
end
inputs = %w(10:00 16:00 22:00 04:00) # (現在時刻, アラーム時刻)の組
inputs.each_slice( 2 ) do |now, alarm| # 2個ずつ処理する
puts calculate_time_span( now, alarm )
end
Ruby で、
require 'active_support/time'
def calculate_time_span( now, alarm )
current = Time.now
now_time = Time.parse( now, current ) #=> 2019-12-15 22:00:00 +0900
alarm_time = Time.parse( alarm, current ) #=> 2019-12-15 04:00:00 +0900
diff_time = alarm_time - now_time
# アラームが翌日の場合
diff_time = alarm_time.tomorrow - now_time if diff_time < 0
Time.at( diff_time ).utc.strftime( '%H:%M' )
end
inputs = %w(10:00 16:00 22:00 04:00) # (現在時刻, アラーム時刻)の組
inputs.each_slice( 2 ) do |now, alarm| # 2個ずつ処理する
puts calculate_time_span( now, alarm )
end
319デフォルトの名無しさん
2019/12/15(日) 13:16:18.52ID:VJoyKt1C320デフォルトの名無しさん
2019/12/15(日) 15:13:57.70ID:KhVK4v3Y321デフォルトの名無しさん
2019/12/15(日) 15:21:49.83ID:yZPHpztp322デフォルトの名無しさん
2019/12/15(日) 15:38:04.40ID:KhVK4v3Y323デフォルトの名無しさん
2019/12/15(日) 16:45:12.24ID:K3IRPfAN >>315-316
正解
正解
324デフォルトの名無しさん
2019/12/15(日) 20:15:30.36ID:IFqyyeL5 >>317
これもPowerShellで簡単。
function f($n)
{
$m = -join([char[]]"$n" |? {$_ -ne "0"})
($m += "0" * ("$n".length - $m.length))
}
f 2019; f 102030; f 123
これもPowerShellで簡単。
function f($n)
{
$m = -join([char[]]"$n" |? {$_ -ne "0"})
($m += "0" * ("$n".length - $m.length))
}
f 2019; f 102030; f 123
325デフォルトの名無しさん
2019/12/15(日) 22:45:37.77ID:myBFLrpG お題:ハノイの塔の最少手数は一種類しかないのか?
(Part 13, 055)
結果:n枚の円盤すべてを移動させるには最低 2^n −1 回の手数がかかる。
(Part 13, 055)
結果:n枚の円盤すべてを移動させるには最低 2^n −1 回の手数がかかる。
326デフォルトの名無しさん
2019/12/15(日) 22:58:29.31ID:myBFLrpG 4ピンのハノイの塔(河内塔)
n枚の円盤は最初ピン0にある。n枚すべてをピン3に移動させる。
条件:
小円盤の上に大円盤を載せられない。
ピン1とピン2には最大1枚しか置けない。
n枚の円盤は最初ピン0にある。n枚すべてをピン3に移動させる。
条件:
小円盤の上に大円盤を載せられない。
ピン1とピン2には最大1枚しか置けない。
327デフォルトの名無しさん
2019/12/15(日) 23:12:15.95ID:myBFLrpG ・n=2 のとき
12, -, -, -
2, 1, -, -
-, 1, -, 2
-, -, -, 12 (3手)
・n=3 のとき
123, -, -, -
23, 1, -, -
3, 1, 2, -
-, 1, 2, 3
-, 1, -, 23
-, -, -, 123 (5手)
・n=4 のとき
1234, -, -, -
234, 1, -, -
34, 1, 2, -
4, 1, 2, 3
4, 1, -, 23
-, 1, 4, 23
2, 1, 4, 3
12, -, 4, 3
12, 3, 4, -
12, 3, -, 4
12, -, -, 34
2, 1, -, 34
-, 1, -, 234
-, -, -, 1234 (13手)
12, -, -, -
2, 1, -, -
-, 1, -, 2
-, -, -, 12 (3手)
・n=3 のとき
123, -, -, -
23, 1, -, -
3, 1, 2, -
-, 1, 2, 3
-, 1, -, 23
-, -, -, 123 (5手)
・n=4 のとき
1234, -, -, -
234, 1, -, -
34, 1, 2, -
4, 1, 2, 3
4, 1, -, 23
-, 1, 4, 23
2, 1, 4, 3
12, -, 4, 3
12, 3, 4, -
12, 3, -, 4
12, -, -, 34
2, 1, -, 34
-, 1, -, 234
-, -, -, 1234 (13手)
328デフォルトの名無しさん
2019/12/15(日) 23:25:59.52ID:myBFLrpG ・n=5 のとき
12345, -, -, -
2345, 1, -, -
345, 1, 2, -
45, 1, 2, 3
45, 1, -, 23
45, -, -, 123
5, 4, -, 123
-, 4, 5, 123
4, -, 5, 123
4, 1, 5, 23
24, 1, 5, 3
124, -, 5, 3
124, 3, 5, -
124, 3, -, 5
24, 3, 1, 5
4, 3, 1, 25
4, 3, -, 125
-, 3, 4, 125
3, -, 4, 125
3, 1, 4, 25
23, 1, 4, 5
23, 1, -, 45
3, 1, 2, 45
-, 1, 2, 345
-, 1, -, 2345
-, -, -, 12345 (25手)
12345, -, -, -
2345, 1, -, -
345, 1, 2, -
45, 1, 2, 3
45, 1, -, 23
45, -, -, 123
5, 4, -, 123
-, 4, 5, 123
4, -, 5, 123
4, 1, 5, 23
24, 1, 5, 3
124, -, 5, 3
124, 3, 5, -
124, 3, -, 5
24, 3, 1, 5
4, 3, 1, 25
4, 3, -, 125
-, 3, 4, 125
3, -, 4, 125
3, 1, 4, 25
23, 1, 4, 5
23, 1, -, 45
3, 1, 2, 45
-, 1, 2, 345
-, 1, -, 2345
-, -, -, 12345 (25手)
329デフォルトの名無しさん
2019/12/16(月) 08:07:19.12ID:YuYKZXFs お題:
ここに単語を登録したリストがある
リストには以下の種類の言葉が存在する
単語:(例)くさり
単語解説:(例)環状の部品を繋げて線状にしたもの
リストには上記ペアを1単位として、ずらずら並んでいる
(数十個くらい)
リストの中の似たような単語を探し、
以下のサンプルのようにボケ、ツッコミを繰り返すプログラムを作れ
似たような単語が見つからない場合には
最後に「こうじ:お前とはもうやってられませんわ」とprintし、
プログラムを終了せよ
動作サンプル:
こうじ:「くさび」を見ると興奮するよね
てつお:ああ、環状の部品を繋げて線状にしたものね
こうじ:それは「くさり」
てつお:ああ、マルスダレガイ科に属する二枚貝ね
こうじ:それは「あさり」
てつお:ああ、慰安婦の嘘を書いた新聞ね
こうじ:それは「あさひ」
こうじ:お前とはもうやってられませんわ
ここに単語を登録したリストがある
リストには以下の種類の言葉が存在する
単語:(例)くさり
単語解説:(例)環状の部品を繋げて線状にしたもの
リストには上記ペアを1単位として、ずらずら並んでいる
(数十個くらい)
リストの中の似たような単語を探し、
以下のサンプルのようにボケ、ツッコミを繰り返すプログラムを作れ
似たような単語が見つからない場合には
最後に「こうじ:お前とはもうやってられませんわ」とprintし、
プログラムを終了せよ
動作サンプル:
こうじ:「くさび」を見ると興奮するよね
てつお:ああ、環状の部品を繋げて線状にしたものね
こうじ:それは「くさり」
てつお:ああ、マルスダレガイ科に属する二枚貝ね
こうじ:それは「あさり」
てつお:ああ、慰安婦の嘘を書いた新聞ね
こうじ:それは「あさひ」
こうじ:お前とはもうやってられませんわ
330デフォルトの名無しさん
2019/12/16(月) 09:38:23.88ID:UpTR80vx >>326
・n≧6のとき
ピン1とピン2には各1個しか置けないから 1〜(n-1) を置くことはできない。
∴ n を ピン0 から ピン3 に直送することはできない。
∴ ピン0 → ピン1 → ピン3 と送ろう。
まず 12345 をピン2、ピン3に退避する。(n=6の場合)
123456, -, -, -
6, -, m, 12345-m (1≦m≦5)
6, -, -, 12345 は m=1 と見なす。
-, 6, m, 12345-m
次にピン3を空けるため、ピン0とピン2に移すことになる。
しかしピン0には3枚しか移動できず、ピン3に n-5枚残ってしまう。
∴ n≧6 では不可能。
・n≧6のとき
ピン1とピン2には各1個しか置けないから 1〜(n-1) を置くことはできない。
∴ n を ピン0 から ピン3 に直送することはできない。
∴ ピン0 → ピン1 → ピン3 と送ろう。
まず 12345 をピン2、ピン3に退避する。(n=6の場合)
123456, -, -, -
6, -, m, 12345-m (1≦m≦5)
6, -, -, 12345 は m=1 と見なす。
-, 6, m, 12345-m
次にピン3を空けるため、ピン0とピン2に移すことになる。
しかしピン0には3枚しか移動できず、ピン3に n-5枚残ってしまう。
∴ n≧6 では不可能。
331デフォルトの名無しさん
2019/12/16(月) 10:03:17.28ID:UpTR80vx 条件を変えたらどうなるか?
条件(1,1)
ピン1、ピン2には最大で1枚しか置けない。 >>326
条件(1,2)
ピン1には最大で1枚、ピン2には最大で2枚しか置けない。
条件(2,2)
ピン1、ピン2には最大で2枚しか置けない。
条件(1,1)
ピン1、ピン2には最大で1枚しか置けない。 >>326
条件(1,2)
ピン1には最大で1枚、ピン2には最大で2枚しか置けない。
条件(2,2)
ピン1、ピン2には最大で2枚しか置けない。
332デフォルトの名無しさん
2019/12/16(月) 12:12:45.33ID:ZZ8St2Js333デフォルトの名無しさん
2019/12/16(月) 14:51:32.32ID:b9yK9thh >>314
common lisp
(format t "~R" 16776960)
sixteen million, seven hundred and seventy-six thousand, nine hundred and sixty
common lisp
(format t "~R" 16776960)
sixteen million, seven hundred and seventy-six thousand, nine hundred and sixty
334デフォルトの名無しさん
2019/12/16(月) 15:02:43.75ID:b9yK9thh >>317
perl5
cat digits
2019
102030
123
cat digits | perl -lane '$zero = 0; while (s/0//) {++$zero}; print $_ . "0" x $zero;'
2190
123000
123
perl5
cat digits
2019
102030
123
cat digits | perl -lane '$zero = 0; while (s/0//) {++$zero}; print $_ . "0" x $zero;'
2190
123000
123
335デフォルトの名無しさん
2019/12/16(月) 17:56:02.69ID:rcGH9Ke6 >>326
これ昔やったことがありますが、すっかり忘れてしまったのは残念ですね…
これ昔やったことがありますが、すっかり忘れてしまったのは残念ですね…
337デフォルトの名無しさん
2019/12/16(月) 22:11:10.55ID:Ppfui4Eb >>317 PowerShell
function f($n) {($n -replace "0", "") + ($n -replace "[^0]", "")}
function f($n) {($n -replace "0", "") + ($n -replace "[^0]", "")}
338デフォルトの名無しさん
2019/12/17(火) 01:24:02.19ID:XiWpNBJ4339デフォルトの名無しさん
2019/12/17(火) 04:04:38.21ID:XiWpNBJ4340デフォルトの名無しさん
2019/12/17(火) 13:17:36.43ID:EDJKyz+u >>317 julia
function f(n)
r = ""
for c = reverse(string(n))
if c == '0'
r = r * c
else
r = c * r
end
end
parse(Int, r)
end
function f(n)
r = ""
for c = reverse(string(n))
if c == '0'
r = r * c
else
r = c * r
end
end
parse(Int, r)
end
341デフォルトの名無しさん
2019/12/17(火) 17:33:51.45ID:/DSBUbt2 お題
任意の文字列からaが連続する最も長い長さを出力してください
入力:acgtaattgaaagggtctt
期待値:3
任意の文字列からaが連続する最も長い長さを出力してください
入力:acgtaattgaaagggtctt
期待値:3
342デフォルトの名無しさん
2019/12/17(火) 18:10:05.60ID:Etag1t/i343デフォルトの名無しさん
2019/12/17(火) 18:50:00.42ID:Etag1t/i344デフォルトの名無しさん
2019/12/17(火) 19:34:15.94ID:JvBVW/sd345デフォルトの名無しさん
2019/12/17(火) 20:02:20.13ID:bKU/e1zO >>341 Ruby
p 'acgtaattgaaagggtctt'.gsub(/[^a]+/,' ').split.uniq.sort_by{|s| s.size}.last.size
p 'acgtaattgaaagggtctt'.gsub(/[^a]+/,' ').split.uniq.sort_by{|s| s.size}.last.size
346デフォルトの名無しさん
2019/12/17(火) 21:06:34.08ID:eGUcswGM お題
1〜1,000 の整数の内、3 か5 の倍数だけを選んで、その合計を求めよ
1〜1,000 の整数の内、3 か5 の倍数だけを選んで、その合計を求めよ
347デフォルトの名無しさん
2019/12/17(火) 21:42:29.19ID:p+XnOFki >>346
Rで2通りの求め方
d <- c(3, 5, -3 * 5)
q <- 1000 %/% d
cat(sum(d * q * (q + 1) / 2), "\n")
cat(sum(which(1:1000 %% 3 == 0 | 1:1000 %% 5 == 0)), "\n")
--- 実行結果 ---
234168
234168
Rで2通りの求め方
d <- c(3, 5, -3 * 5)
q <- 1000 %/% d
cat(sum(d * q * (q + 1) / 2), "\n")
cat(sum(which(1:1000 %% 3 == 0 | 1:1000 %% 5 == 0)), "\n")
--- 実行結果 ---
234168
234168
348デフォルトの名無しさん
2019/12/17(火) 21:42:34.96ID:Q1C16S4i349デフォルトの名無しさん
2019/12/17(火) 21:45:36.79ID:Q1C16S4i お題:ファイル名の一部に空白文字が使える OS(出題者想定は Windows7) の元で、正常に argc, argv を切り出せるスタートアップ支援ルーチンを作ってください
"" で囲まれている文字列は、それが一つのファイル名またはディレクトリ名として扱うこととし、"" で囲まれていない空白は引数の区切りとします
int main() {
rearrange(...);
...
と main の頭に置いて、xargc, xargv を代わりに使う、見たいな感じでお願いします
例によって私が痛切に欲しいと思っているものです…
"" で囲まれている文字列は、それが一つのファイル名またはディレクトリ名として扱うこととし、"" で囲まれていない空白は引数の区切りとします
int main() {
rearrange(...);
...
と main の頭に置いて、xargc, xargv を代わりに使う、見たいな感じでお願いします
例によって私が痛切に欲しいと思っているものです…
351デフォルトの名無しさん
2019/12/17(火) 23:55:17.00ID:jG+XSsUd >>341は簡単すぎるので、
任意の文字列から連続してる文字が最も長い文字とその文字数を求めよ
最も長い文字が複数ある場合は全て出力すること
入力:acgtaattgaaagggtctt
期待値: ("a", 3), ("g",3)
任意の文字列から連続してる文字が最も長い文字とその文字数を求めよ
最も長い文字が複数ある場合は全て出力すること
入力:acgtaattgaaagggtctt
期待値: ("a", 3), ("g",3)
352デフォルトの名無しさん
2019/12/18(水) 00:00:22.88ID:mWocJHci 期待値
の意味って学校で習わなかった?
の意味って学校で習わなかった?
353デフォルトの名無しさん
2019/12/18(水) 00:01:42.93ID:i+6d3gEf >>350
依頼禁止
依頼禁止
354デフォルトの名無しさん
2019/12/18(水) 00:09:07.64ID:i+6d3gEf355デフォルトの名無しさん
2019/12/18(水) 00:12:20.91ID:i+6d3gEf int main(){ return 234168; }
で良い気がしてきた
で良い気がしてきた
356デフォルトの名無しさん
2019/12/18(水) 00:13:22.10ID:LTfQ+mrC 戦が始まります
357デフォルトの名無しさん
2019/12/18(水) 00:28:03.60ID:i+6d3gEf どうせコンパイルしたら>>355になる
358デフォルトの名無しさん
2019/12/18(水) 01:55:09.27ID:JeMlTDQr359デフォルトの名無しさん
2019/12/18(水) 06:09:15.93ID:6RKB+CQ3 >>351 Ruby
p 'acgtaattgaaagggtctt'.scan(/((.)\2*)/).group_by{|s, _| s.size}.max&.last&.map{|s, c| [c, s.size]}
# => [["a", 3], ["g", 3]]
p 'acgtaattgaaagggtctt'.scan(/((.)\2*)/).group_by{|s, _| s.size}.max&.last&.map{|s, c| [c, s.size]}
# => [["a", 3], ["g", 3]]
360デフォルトの名無しさん
2019/12/18(水) 10:45:51.93ID:AmwvkO78 acgtが出てくんだからながさ1億の文字列なんじゃね
362デフォルトの名無しさん
2019/12/18(水) 12:47:12.26ID:Xcao9p4E acgtが出てくんだからDNA配列だろな。
a=adenine, c=cytosine, g=guanine, t=thymine
ながさ30億の塩基対なんぢゃね?(ヒトの場合)
a=adenine, c=cytosine, g=guanine, t=thymine
ながさ30億の塩基対なんぢゃね?(ヒトの場合)
363デフォルトの名無しさん
2019/12/18(水) 13:00:45.28ID:Xcao9p4E >>331
・n=7 のとき
条件(1,2) または 条件(2,2) とする。
1234567, -, -, -
(>328)
67, -, -, 12345
7, 6, -, 12345
-, 6, 7, 12345
6, -, 7, 12345
(>327)
12346, -, 7, 5
12346, 5, 7, -
12346, 5, -, 7
12346, -, 5, 7
(>327)
6, -, 5, 12347
6, 5, -, 12347
-, 5, 6, 12347
5, -, 6, 12347
(>327)
12345, -, 6, 7
12345, -, -, 67
(>328)
-, -, -, 1234567
にて可能。
・n=7 のとき
条件(1,2) または 条件(2,2) とする。
1234567, -, -, -
(>328)
67, -, -, 12345
7, 6, -, 12345
-, 6, 7, 12345
6, -, 7, 12345
(>327)
12346, -, 7, 5
12346, 5, 7, -
12346, 5, -, 7
12346, -, 5, 7
(>327)
6, -, 5, 12347
6, 5, -, 12347
-, 5, 6, 12347
5, -, 6, 12347
(>327)
12345, -, 6, 7
12345, -, -, 67
(>328)
-, -, -, 1234567
にて可能。
364デフォルトの名無しさん
2019/12/18(水) 13:04:26.11ID:iEIErwam (1,2)で8
(2,2)だと12
までは出来たぞ
(2,2)だと12
までは出来たぞ
365デフォルトの名無しさん
2019/12/18(水) 13:06:11.00ID:iEIErwam (1,3)で11
紙と鉛筆で考えただけなんで
もっと出来るかも
紙と鉛筆で考えただけなんで
もっと出来るかも
366デフォルトの名無しさん
2019/12/18(水) 13:29:12.80ID:iEIErwam (n,1)=3n+2
(2,2)以上だと
(m, n)=4(n+m-1)
まではいける
(2,2)以上だと
(m, n)=4(n+m-1)
まではいける
367デフォルトの名無しさん
2019/12/18(水) 14:02:18.59ID:1FTJXM5f368デフォルトの名無しさん
2019/12/18(水) 14:58:11.70ID:Xcao9p4E >>331
・n=8のとき
条件(1,2) または 条件(2,2) とする。
12345678, -, -, - (>328)
678, -, -, 12345
78, -, 6, 12345 (>328)
1234578, -, 6, -
1234578, -, -, 6 (>328)
78, -, -, 123456
8, 7, -, 123456
-, 7, 8, 123456
7, -, 8, 123456 (>328)
123457, -, 8, 6
123457, 6, 8, -
123457, 6, -, 8
123457, -, 6, 8 (>328)
7, -, 6, 123458
7, 6, -, 123458
-, 6, 7, 123458
6, -, 7, 123458 (>328)
123456, -, 7, 8
123456, -, -, 78 (>328)
6, -, -, 1234578
-, -, 6, 1234578 (>328)
12345, -, 6, 78
12345, -, -, 678 (>328)
-, -, -, 12345678
にて可能。
・n=9 は 条件(1,2) では無理か・・・・
・n=8のとき
条件(1,2) または 条件(2,2) とする。
12345678, -, -, - (>328)
678, -, -, 12345
78, -, 6, 12345 (>328)
1234578, -, 6, -
1234578, -, -, 6 (>328)
78, -, -, 123456
8, 7, -, 123456
-, 7, 8, 123456
7, -, 8, 123456 (>328)
123457, -, 8, 6
123457, 6, 8, -
123457, 6, -, 8
123457, -, 6, 8 (>328)
7, -, 6, 123458
7, 6, -, 123458
-, 6, 7, 123458
6, -, 7, 123458 (>328)
123456, -, 7, 8
123456, -, -, 78 (>328)
6, -, -, 1234578
-, -, 6, 1234578 (>328)
12345, -, 6, 78
12345, -, -, 678 (>328)
-, -, -, 12345678
にて可能。
・n=9 は 条件(1,2) では無理か・・・・
369デフォルトの名無しさん
2019/12/18(水) 16:04:48.01ID:iEIErwam (0,0)=1
(n,m)=(n+2)(m+2)-4
ですかね
(n,m)=(n+2)(m+2)-4
ですかね
370デフォルトの名無しさん
2019/12/18(水) 21:05:50.74ID:WdZQqUwr >>359
Rでrle関数を使って楽々
MaxRepChar <- function(s) {
if (!nchar(s)) return(invisible())
r <- rle(unlist(strsplit(s, "")))
b <- r$lengths == max(r$lengths)
cat(sprintf('("%s", %d)', r$values[b], r$lengths[b]), sep = ", "); cat("\n")
}
MaxRepChar("acgtaattgaaagggtctt")
MaxRepChar("http://mevius.5ch.net/test/read.cgi/tech/1573948822/")
-- 実行結果 --
("a", 3), ("g", 3)
("t", 2), ("/", 2), ("8", 2), ("2", 2)
Rでrle関数を使って楽々
MaxRepChar <- function(s) {
if (!nchar(s)) return(invisible())
r <- rle(unlist(strsplit(s, "")))
b <- r$lengths == max(r$lengths)
cat(sprintf('("%s", %d)', r$values[b], r$lengths[b]), sep = ", "); cat("\n")
}
MaxRepChar("acgtaattgaaagggtctt")
MaxRepChar("http://mevius.5ch.net/test/read.cgi/tech/1573948822/")
-- 実行結果 --
("a", 3), ("g", 3)
("t", 2), ("/", 2), ("8", 2), ("2", 2)
371デフォルトの名無しさん
2019/12/18(水) 21:06:21.05ID:H5ShkPcr f(m, n) : 動かせる最大枚数
m≧n≧1の時
x=f(m-1,n)
A:1,2,3,...,x
B:x+1,...,x+n
C:x+n+1
D:x+n+2
ABCD, -, -, -
CD, -, -, AB
C, D, -, AB
AC, D, -, B
AC, -, -, BD
C, -, - ABD
-, C, -, ABD
A, C, -, BD
A, -, -, BCD
-, -, - ABCD
よって
f(m, n)≧f(m-1,n)+n+2
f(1,0)=2
f(m,n)=f(n,m)
と数学的帰納法により
f(m,n)≧(m+2)(n+2)-4
m≧n≧1の時
x=f(m-1,n)
A:1,2,3,...,x
B:x+1,...,x+n
C:x+n+1
D:x+n+2
ABCD, -, -, -
CD, -, -, AB
C, D, -, AB
AC, D, -, B
AC, -, -, BD
C, -, - ABD
-, C, -, ABD
A, C, -, BD
A, -, -, BCD
-, -, - ABCD
よって
f(m, n)≧f(m-1,n)+n+2
f(1,0)=2
f(m,n)=f(n,m)
と数学的帰納法により
f(m,n)≧(m+2)(n+2)-4
>>371
理論はどうでもいいから動くコードを出して欲しいです、このスレ的には
理論はどうでもいいから動くコードを出して欲しいです、このスレ的には
373デフォルトの名無しさん
2019/12/18(水) 23:01:39.59ID:i+6d3gEf ここまで出来ればあとは簡単
他の人に任せた
他の人に任せた
374デフォルトの名無しさん
2019/12/19(木) 00:58:04.71ID:1AoIgbUn >>317 文言 wenyan-lang
http://wenyan-lang.lingdong.works/ide.html
吾有一術。名之曰「零右寄」。欲行是術。必先得一數。曰「数」。乃行是術曰。
吾有三數。曰零。曰零。曰一。名之曰「甲」曰「乙」曰「丙」。
恆為是。若「数」等於零者乃止也。除「数」以十。所餘幾何。昔之「甲」者。今其是矣。
若「甲」等於零者。乘「乙」以十。昔之「乙」者。今其是矣。若非。乘「甲」以「丙」。
加其以「乙」。昔之「乙」者。今其是矣。也。除「数」以十。昔之「数」者。今其是矣。
除其以一。所餘幾何。減「数」以其。昔之「数」者。今其是矣。
乘「丙」以十。昔之「丙」者。今其是矣。云云。乃得「乙」。是謂「零右寄」之術也。
吾有一列。名之曰「丁」。充「丁」以二千零一十九。以一十萬二千零三十。以一百二十三。
凡「丁」中之「戊」。施「零右寄」於「戊」。名之曰「己」吾有三數。曰「戊」。曰「「、」」。曰「己」。書之。云云。
OUTPUT ---------------------
二千零一十九、二千一百九十
一十萬二千零三十、一十二萬三千
一百二十三、一百二十三
なんかGIGAZINEで紹介されていたので
http://wenyan-lang.lingdong.works/ide.html
吾有一術。名之曰「零右寄」。欲行是術。必先得一數。曰「数」。乃行是術曰。
吾有三數。曰零。曰零。曰一。名之曰「甲」曰「乙」曰「丙」。
恆為是。若「数」等於零者乃止也。除「数」以十。所餘幾何。昔之「甲」者。今其是矣。
若「甲」等於零者。乘「乙」以十。昔之「乙」者。今其是矣。若非。乘「甲」以「丙」。
加其以「乙」。昔之「乙」者。今其是矣。也。除「数」以十。昔之「数」者。今其是矣。
除其以一。所餘幾何。減「数」以其。昔之「数」者。今其是矣。
乘「丙」以十。昔之「丙」者。今其是矣。云云。乃得「乙」。是謂「零右寄」之術也。
吾有一列。名之曰「丁」。充「丁」以二千零一十九。以一十萬二千零三十。以一百二十三。
凡「丁」中之「戊」。施「零右寄」於「戊」。名之曰「己」吾有三數。曰「戊」。曰「「、」」。曰「己」。書之。云云。
OUTPUT ---------------------
二千零一十九、二千一百九十
一十萬二千零三十、一十二萬三千
一百二十三、一百二十三
なんかGIGAZINEで紹介されていたので
375デフォルトの名無しさん
2019/12/19(木) 03:38:08.86ID:i+MhtJYW >>363
・n=7 のとき
条件(1,2) または 条件(2,2)
{1234}=A と略記する。
A567, -, -, - (>327)
567, -, -, A
67, 5, -, A
7, 5, 6, A
57, -, 6, A (>327)
A57, -, 6, -
A57, -, -, 6 (>327)
57, -, -, A6
7, 5, -, A6
-, 5, 7, A6
5, -, 7, A6 (>327)
A5, -, 7, 6
A5, 6, 7, -
A5, 6, -, 7
A5, -, -, 67 (>327)
5, -, -, A67
-, -, 5, A67 (>327)
A, -, 5, 67
A, -, -, 567 (>327)
-, -, -, A567
にて可能。
・n=7 のとき
条件(1,2) または 条件(2,2)
{1234}=A と略記する。
A567, -, -, - (>327)
567, -, -, A
67, 5, -, A
7, 5, 6, A
57, -, 6, A (>327)
A57, -, 6, -
A57, -, -, 6 (>327)
57, -, -, A6
7, 5, -, A6
-, 5, 7, A6
5, -, 7, A6 (>327)
A5, -, 7, 6
A5, 6, 7, -
A5, 6, -, 7
A5, -, -, 67 (>327)
5, -, -, A67
-, -, 5, A67 (>327)
A, -, 5, 67
A, -, -, 567 (>327)
-, -, -, A567
にて可能。
376デフォルトの名無しさん
2019/12/19(木) 03:43:24.67ID:i+MhtJYW >>368
・n=8のとき
条件(1,2) または 条件(2,2)
{12345} = A と略記する。
A678, -, -, - (>328)
678, -, -, A
78, 6, -, A
8, 6, 7, A
68, -, 7, A (>328)
A68, -, 7, -
A68, -, -, 7 (>328)
68, -, -, A7
8, 6, -, A7
-, 6, 8, A7
6, -, 8, A7 (>328)
A6, -, 8, 7
A6, 7, 8, -
A6, 7, -, 8
A6, -, -, 78 (>328)
6, -, -, A78
-, -, 6, A78 (>328)
A, -, 6, 78
A, -, -, 678 (>328)
-, -, -, A678
にて可能。
・n=8のとき
条件(1,2) または 条件(2,2)
{12345} = A と略記する。
A678, -, -, - (>328)
678, -, -, A
78, 6, -, A
8, 6, 7, A
68, -, 7, A (>328)
A68, -, 7, -
A68, -, -, 7 (>328)
68, -, -, A7
8, 6, -, A7
-, 6, 8, A7
6, -, 8, A7 (>328)
A6, -, 8, 7
A6, 7, 8, -
A6, 7, -, 8
A6, -, -, 78 (>328)
6, -, -, A78
-, -, 6, A78 (>328)
A, -, 6, 78
A, -, -, 678 (>328)
-, -, -, A678
にて可能。
377デフォルトの名無しさん
2019/12/19(木) 04:34:36.23ID:i+MhtJYW ・n=12 のとき
条件(2,2)
{12345678} = A, {9,10} = B, 11=C, 12=D と略記する。
ABCD, -, -, - (>376)
BCD, -, -, A
CD, -, B, A
D, C, B, A
BD, C, -, A (>376)
ABD, C, -, -
ABD, -, -, C (>376)
BD, -, -, AC
D, -, B, AC
-, D, B, AC
B, D, -, AC (>376)
AB, D, -, C
AB, D, C, -
AB, -, C, D
AB, -, -, CD (>376)
B, -, -, ACD
O, 9, -, ACD (>376)
AO, 9, -, CD
AO, -, -, 9CD (>376)
O, -, -, A9CD
-, O, -, A9CD (>376)
A, O, -, 9CD
A, O, 9, CD
A, -, 9, OCD
A, -,-, BCD (>376)
-, -, -, ABCD
にて可能。
条件(2,2)
{12345678} = A, {9,10} = B, 11=C, 12=D と略記する。
ABCD, -, -, - (>376)
BCD, -, -, A
CD, -, B, A
D, C, B, A
BD, C, -, A (>376)
ABD, C, -, -
ABD, -, -, C (>376)
BD, -, -, AC
D, -, B, AC
-, D, B, AC
B, D, -, AC (>376)
AB, D, -, C
AB, D, C, -
AB, -, C, D
AB, -, -, CD (>376)
B, -, -, ACD
O, 9, -, ACD (>376)
AO, 9, -, CD
AO, -, -, 9CD (>376)
O, -, -, A9CD
-, O, -, A9CD (>376)
A, O, -, 9CD
A, O, 9, CD
A, -, 9, OCD
A, -,-, BCD (>376)
-, -, -, ABCD
にて可能。
378デフォルトの名無しさん
2019/12/19(木) 07:01:53.01ID:NLbJ7Izu379346
2019/12/19(木) 11:40:09.74ID:dMnFAlGo >>346
Ruby で、234,168
# 蓄積変数の初期値は、0
puts ( 1..1_000 ).inject( 0 ) { |sum, num|
num % 3 == 0 || num % 5 == 0 ? sum + num : sum
}
Ruby で、234,168
# 蓄積変数の初期値は、0
puts ( 1..1_000 ).inject( 0 ) { |sum, num|
num % 3 == 0 || num % 5 == 0 ? sum + num : sum
}
380デフォルトの名無しさん
2019/12/19(木) 13:03:26.44ID:LRZ6v8WB381デフォルトの名無しさん
2019/12/19(木) 14:49:39.96ID:i+MhtJYW >>380
う〜む、等号の証明でござる。
う〜む、等号の証明でござる。
382デフォルトの名無しさん
2019/12/19(木) 16:03:07.29ID:POC72xQm どれが?
383デフォルトの名無しさん
2019/12/19(木) 16:34:48.53ID:dMnFAlGo お題
MY FAVORITE SONGS を、Snake, Camel, Pascal にして!
my_favorite_songs, myFavoriteSongs, MyFavoriteSongs
MY FAVORITE SONGS を、Snake, Camel, Pascal にして!
my_favorite_songs, myFavoriteSongs, MyFavoriteSongs
384デフォルトの名無しさん
2019/12/19(木) 17:08:15.12ID:0uPukb6z >>346
Kotlin script
ただ馬鹿正直に抜き出して足すだけ。
println((1..1000).filter { it % 3 == 0 || it % 5 == 0 }.sum())
Kotlin script
ただ馬鹿正直に抜き出して足すだけ。
println((1..1000).filter { it % 3 == 0 || it % 5 == 0 }.sum())
385デフォルトの名無しさん
2019/12/19(木) 17:42:54.73ID:0uPukb6z386デフォルトの名無しさん
2019/12/19(木) 19:39:18.71ID:xlnTqgd4 >>383 Ruby
str = 'MY FAVORITE SONGS'
puts str.tr('A-Z ', 'a-z_') # => my_favorite_songs
puts str.gsub(/ (\w)/){$1.downcase}.swapcase # => myFavoriteSongs
puts str.split.map(&:capitalize).join # => MyFavoriteSongs
str = 'MY FAVORITE SONGS'
puts str.tr('A-Z ', 'a-z_') # => my_favorite_songs
puts str.gsub(/ (\w)/){$1.downcase}.swapcase # => myFavoriteSongs
puts str.split.map(&:capitalize).join # => MyFavoriteSongs
387デフォルトの名無しさん
2019/12/19(木) 20:42:11.68ID:M6N2QgoX >>351 >>362 Common Lisp
https://ideone.com/hTxKo6
30億バイトでの実行結果:
% uname -p
Intel(R) Core(TM) i7-4765T CPU @ 2.00GHz
% /usr/bin/time -p sbcl --script odai-pt16-351-362-lisp-3-hash-table.lisp </tmp/random-acgt-3-billion.txt
((#\T . 17))
real 178.75
user 177.55
sys 1.17
%
*standard-input* ではなく (open "/dev/stdin" ...) を使っているのは *standard-input* が遅いから
ざっと六倍もの時間がかかった
https://ideone.com/hTxKo6
30億バイトでの実行結果:
% uname -p
Intel(R) Core(TM) i7-4765T CPU @ 2.00GHz
% /usr/bin/time -p sbcl --script odai-pt16-351-362-lisp-3-hash-table.lisp </tmp/random-acgt-3-billion.txt
((#\T . 17))
real 178.75
user 177.55
sys 1.17
%
*standard-input* ではなく (open "/dev/stdin" ...) を使っているのは *standard-input* が遅いから
ざっと六倍もの時間がかかった
388デフォルトの名無しさん
2019/12/19(木) 21:46:59.61ID:XnN+NvoA389デフォルトの名無しさん
2019/12/19(木) 22:59:23.08ID:L7o4TfDh390383
2019/12/20(金) 14:24:42.29ID:A+TGdcd9 >>383
Ruby で、
ary = "MY FAVORITE SONGS".split.map( &:downcase ) # すべて小文字へ
puts ary.join( "_" ) #=> my_favorite_songs
puts ary.map( &:capitalize ).join #=> MyFavoriteSongs
puts ary.map.with_index { |word, idx|
if idx == 0
word # 最初だけ、そのまま
else
word.capitalize
end
}.join #=> myFavoriteSongs
Ruby で、
ary = "MY FAVORITE SONGS".split.map( &:downcase ) # すべて小文字へ
puts ary.join( "_" ) #=> my_favorite_songs
puts ary.map( &:capitalize ).join #=> MyFavoriteSongs
puts ary.map.with_index { |word, idx|
if idx == 0
word # 最初だけ、そのまま
else
word.capitalize
end
}.join #=> myFavoriteSongs
391デフォルトの名無しさん
2019/12/20(金) 17:55:37.64ID:KHh/7LOP392デフォルトの名無しさん
2019/12/20(金) 19:38:12.53ID:KibkA5Ab お題(>>346の改変版)
1から100万までの整数のうち、2か3か5か7か11か13か17か19の倍数の合計を
求める処理を3000回繰り返してから、結果を表示せよ。ただし、ideoneの
実行制限時間(5秒)以内に完了すること。
1から100万までの整数のうち、2か3か5か7か11か13か17か19の倍数の合計を
求める処理を3000回繰り返してから、結果を表示せよ。ただし、ideoneの
実行制限時間(5秒)以内に完了すること。
393デフォルトの名無しさん
2019/12/20(金) 20:40:12.54ID:l1czkVGZ394デフォルトの名無しさん
2019/12/20(金) 21:09:48.70ID:ZH5ZbPnE 今アップしようと思ったら
>>393とそっくりだった
>>393とそっくりだった
395デフォルトの名無しさん
2019/12/20(金) 21:22:01.32ID:ZH5ZbPnE 素数の数をカウントする代わりに
マイナスを付けて素数を掛け算してるのが違うくらい
マイナスを付けて素数を掛け算してるのが違うくらい
396デフォルトの名無しさん
2019/12/20(金) 21:28:45.69ID:ZH5ZbPnE お題
3000回じゃなくてもっとマシな出し方なかったのかね?
最適化で1回の結果を使い回されて何回やっても時間同じになっちゃってたよ
3000回数分合計して、最後に3000で割ってたんだけど
最適化が頭良すぎた
3000回じゃなくてもっとマシな出し方なかったのかね?
最適化で1回の結果を使い回されて何回やっても時間同じになっちゃってたよ
3000回数分合計して、最後に3000で割ってたんだけど
最適化が頭良すぎた
397デフォルトの名無しさん
2019/12/20(金) 21:49:16.14ID:qHTdS2+z やったー僕が考えた効率良いプログラムだと5秒以内で3000回も計算できたぞ!
そうだこれをお題にしてやろう!
そうだこれをお題にしてやろう!
398デフォルトの名無しさん
2019/12/20(金) 22:16:29.10ID:ZH5ZbPnE C/C++だと
ほんのちょっと数学の知識を使えば
コード上の工夫をまったくしなくても0.01秒
コード上の工夫でまだまだ速くなる
スクリプト系言語でも100倍はかからない気がする
なぜ5秒?
なぜ1000000?
なぜ3000回?
謎だ
ほんのちょっと数学の知識を使えば
コード上の工夫をまったくしなくても0.01秒
コード上の工夫でまだまだ速くなる
スクリプト系言語でも100倍はかからない気がする
なぜ5秒?
なぜ1000000?
なぜ3000回?
謎だ
399デフォルトの名無しさん
2019/12/20(金) 22:30:48.36ID:fz/tpFJr 些末な最適化など
数学的知識に基づくオーダーの低減に比べたらむなしい
数学的知識に基づくオーダーの低減に比べたらむなしい
400デフォルトの名無しさん
2019/12/20(金) 22:30:49.77ID:ZH5ZbPnE 数学的知識を使わないで
単純に足していくアルゴリズムを
コードの工夫で5秒切るって問題?
単純に足していくアルゴリズムを
コードの工夫で5秒切るって問題?
401デフォルトの名無しさん
2019/12/20(金) 22:38:11.88ID:PCNOOvYP402デフォルトの名無しさん
2019/12/20(金) 22:38:43.75ID:ZH5ZbPnE403デフォルトの名無しさん
2019/12/20(金) 22:39:52.16ID:ZH5ZbPnE ダブった
404デフォルトの名無しさん
2019/12/20(金) 22:50:38.46ID:qHTdS2+z 数学も計算機学もどっちも大事
405デフォルトの名無しさん
2019/12/20(金) 23:00:03.89ID:KibkA5Ab >>393
正解。ちなみにRで短く書いたプログラム: https://ideone.com/T9oDqa
結局、奇数個の積の倍数の個数の和から偶数個のそれを引くというやり方は同じだな。
>>397
そう。上のプログラムが5秒以内に余裕を持って終わるように繰り返し回数を設定したw
効率というより短いのが好きで書いた。
>>398
>>393をRにそのまま移植すると5秒以内に終わらず、1000回に減らしても
(https://ideone.com/K94wA8)4.56秒かかって、上のプログラムの2.43秒より
遅いよ。Rでは自前のループを書くよりも、関数や演算子を使って短く書いた方が
速くなることが多い。
正解。ちなみにRで短く書いたプログラム: https://ideone.com/T9oDqa
結局、奇数個の積の倍数の個数の和から偶数個のそれを引くというやり方は同じだな。
>>397
そう。上のプログラムが5秒以内に余裕を持って終わるように繰り返し回数を設定したw
効率というより短いのが好きで書いた。
>>398
>>393をRにそのまま移植すると5秒以内に終わらず、1000回に減らしても
(https://ideone.com/K94wA8)4.56秒かかって、上のプログラムの2.43秒より
遅いよ。Rでは自前のループを書くよりも、関数や演算子を使って短く書いた方が
速くなることが多い。
406デフォルトの名無しさん
2019/12/20(金) 23:06:22.58ID:ZH5ZbPnE407デフォルトの名無しさん
2019/12/20(金) 23:10:59.45ID:KibkA5Ab 1000までではなく与えられた自然数までということ以外は>>346と同じ問題が
オライリーの「Modern C++チャレンジ」に載っているが、示されている解答は
if (i % 3 == 0 || i % 5 == 0) sum += i; という単純に足していく方式だな。
本の副題は「C++17プログラミング力を鍛える100問」だが、何が鍛えられられるのか
よく分からない。
オライリーの「Modern C++チャレンジ」に載っているが、示されている解答は
if (i % 3 == 0 || i % 5 == 0) sum += i; という単純に足していく方式だな。
本の副題は「C++17プログラミング力を鍛える100問」だが、何が鍛えられられるのか
よく分からない。
408デフォルトの名無しさん
2019/12/20(金) 23:11:25.23ID:ZH5ZbPnE C/C++で1秒かかる問題は
C/C++限定になっちゃう感じだね
C/C++限定になっちゃう感じだね
409デフォルトの名無しさん
2019/12/20(金) 23:14:31.11ID:ZH5ZbPnE410デフォルトの名無しさん
2019/12/21(土) 05:43:11.08ID:vVh8rrgH 連投アスペ君うざいよ
学歴詐称までしてたみたいだけど
学歴詐称までしてたみたいだけど
411デフォルトの名無しさん
2019/12/21(土) 17:30:00.35ID:BSqycIZI お題
ビットコインの採掘問題です
000 〜 300 までの3桁の整数の文字列を、MD5 で暗号化した時に、
冒頭部分から、5 が最も多く続く、整数は何?
答え、239 : 555d6〜
ビットコインの採掘問題です
000 〜 300 までの3桁の整数の文字列を、MD5 で暗号化した時に、
冒頭部分から、5 が最も多く続く、整数は何?
答え、239 : 555d6〜
412デフォルトの名無しさん
2019/12/21(土) 21:23:49.40ID:WOeaPgYE413デフォルトの名無しさん
2019/12/21(土) 22:58:23.57ID:hbXQRpYW >>411 PowerShell
$MD5 = new-object "System.Security.Cryptography.MD5CryptoServiceProvider"
$a = 0..300
$hash = $a |% {-join ($MD5.ComputeHash([char[]]("{0:000}" -f $_)) |% {"{0:x2}" -f $_})}
$n = $hash |% {[RegEx]::Match($_, "^5+").length}
$max = ($n | measure -max).Maximum
$a |? {$n[$_] -eq $max} |% {"$_ : " + $hash[$_]}
-- 実行結果 --
239 : 555d6702c950ecb729a966504af0a635
$MD5 = new-object "System.Security.Cryptography.MD5CryptoServiceProvider"
$a = 0..300
$hash = $a |% {-join ($MD5.ComputeHash([char[]]("{0:000}" -f $_)) |% {"{0:x2}" -f $_})}
$n = $hash |% {[RegEx]::Match($_, "^5+").length}
$max = ($n | measure -max).Maximum
$a |? {$n[$_] -eq $max} |% {"$_ : " + $hash[$_]}
-- 実行結果 --
239 : 555d6702c950ecb729a966504af0a635
414デフォルトの名無しさん
2019/12/22(日) 03:50:07.73ID:lBW/6Z3k415デフォルトの名無しさん
2019/12/22(日) 14:00:57.91ID:sfBU8dhx >>411 Ruby
require 'digest'
p ("000".."300").map{|i|[Digest::MD5.hexdigest(i).index(/[^5]/),i]}.max[1]
require 'digest'
p ("000".."300").map{|i|[Digest::MD5.hexdigest(i).index(/[^5]/),i]}.max[1]
416411
2019/12/22(日) 19:20:37.12ID:u+b66RrE >>411 Ruby
require 'digest'
# :count は、先頭から続く、5の数
Result = Struct.new( :num, :md5, :count )
res = ( "000".."300" ).each_with_object( Result.new( nil, nil, -1 ) ) do |num, res|
md5 = Digest::MD5.hexdigest( num ) # ハッシュ化
md5.each_char.with_index do |char, idx| # 1文字ずつ処理する
if char != "5"
if idx > res.count # 大きい時だけ更新する
res.num = num
res.md5 = md5
res.count = idx
end
break
end
end
end
puts "#{ res.num } : #{ res.md5 }"
#=> 239 : 555d6702c950ecb729a966504af0a635
require 'digest'
# :count は、先頭から続く、5の数
Result = Struct.new( :num, :md5, :count )
res = ( "000".."300" ).each_with_object( Result.new( nil, nil, -1 ) ) do |num, res|
md5 = Digest::MD5.hexdigest( num ) # ハッシュ化
md5.each_char.with_index do |char, idx| # 1文字ずつ処理する
if char != "5"
if idx > res.count # 大きい時だけ更新する
res.num = num
res.md5 = md5
res.count = idx
end
break
end
end
end
puts "#{ res.num } : #{ res.md5 }"
#=> 239 : 555d6702c950ecb729a966504af0a635
417デフォルトの名無しさん
2019/12/23(月) 15:49:57.54ID:8tSOZ4fL418デフォルトの名無しさん
2019/12/24(火) 02:05:20.47ID:3/kDRwCG >>377
>>389
・n=13 のとき
条件(2,2)
{12345678} = A, {9,10} = B, 11=C, 12=D, 13=E と略記する。
ABCDE, -, -, -
手順1
CDE, -, -, AB
手順2
CD, E, -, AB
ACD, E, -, B
手順3
ACD, -, -, BE
CD, -, -, ABE
手順2
C, D, -, ABE
AC, D, -, BE
手順3
AC, -, -, BDE
C, -, -, ABDE
-, C, -, ABDE
A, C, -, BDE
手順3
A, -, -, BCDE
-, -, -, ABCDE
にて可能。
>>389
・n=13 のとき
条件(2,2)
{12345678} = A, {9,10} = B, 11=C, 12=D, 13=E と略記する。
ABCDE, -, -, -
手順1
CDE, -, -, AB
手順2
CD, E, -, AB
ACD, E, -, B
手順3
ACD, -, -, BE
CD, -, -, ABE
手順2
C, D, -, ABE
AC, D, -, BE
手順3
AC, -, -, BDE
C, -, -, ABDE
-, C, -, ABDE
A, C, -, BDE
手順3
A, -, -, BCDE
-, -, -, ABCDE
にて可能。
419デフォルトの名無しさん
2019/12/24(火) 02:16:33.78ID:3/kDRwCG #A = f(2,1) = 8, #B = 2
* 手順1
ABX, -, -, -
BX, -, -, A
OX, 9, -, A
AOX, 9, -, -
AOX, -, -, 9
OX, -, -, A9
X, O, -, A9
AX, O, -, 9
AX, O, 9, -
AX, -, 9, O
AX, -, -, B
X, -, -, AB
*手順2
CDY, -, -, *
DY, C, -, *
Y, C, D, *
Y, -, CD, *
-, Y, CD, *
-, CY, D, *
D, CY, -, *
CD, Y, -, *
* 手順3
*, Y, -, BZ
*, 9Y, -, OZ
*, 9Y, O, Z
*, Y, B, Z
*, -, B, YZ
*, 9, O, YZ
*, 9, -, OYZ
*, -, -, BYZ
* 手順1
ABX, -, -, -
BX, -, -, A
OX, 9, -, A
AOX, 9, -, -
AOX, -, -, 9
OX, -, -, A9
X, O, -, A9
AX, O, -, 9
AX, O, 9, -
AX, -, 9, O
AX, -, -, B
X, -, -, AB
*手順2
CDY, -, -, *
DY, C, -, *
Y, C, D, *
Y, -, CD, *
-, Y, CD, *
-, CY, D, *
D, CY, -, *
CD, Y, -, *
* 手順3
*, Y, -, BZ
*, 9Y, -, OZ
*, 9Y, O, Z
*, Y, B, Z
*, -, B, YZ
*, 9, O, YZ
*, 9, -, OYZ
*, -, -, BYZ
420デフォルトの名無しさん
2019/12/24(火) 06:16:15.22ID:cUFUrp77 おめでとう
次は(2,2,2)
次は(2,2,2)
421デフォルトの名無しさん
2019/12/24(火) 06:33:05.83ID:cUFUrp77 n=13を考えるとき
真ん中2本が空いてる時にはn=12までは動かせる
っていう仮定を使うと
考え方が楽になりますよ
これが出来たら
あとは(2,1)のn=8から1枚ずつ増やしていく帰納法が使えます
真ん中2本が空いてる時にはn=12までは動かせる
っていう仮定を使うと
考え方が楽になりますよ
これが出来たら
あとは(2,1)のn=8から1枚ずつ増やしていく帰納法が使えます
422デフォルトの名無しさん
2019/12/24(火) 07:26:03.90ID:cUFUrp77 a≧b≧c≧d≧e≧1
f(a,b,c,d,e)=f(a-1,b,c,d,e)+2n+1
n = max { a, f(b-1,c,d,e) }
+ max { b, f(c-1,d,e) }
+ max { c, f(d-1,e) }
+ e
f(a,b,c,d,e)=f(a-1,b,c,d,e)+2n+1
n = max { a, f(b-1,c,d,e) }
+ max { b, f(c-1,d,e) }
+ max { c, f(d-1,e) }
+ e
423デフォルトの名無しさん
2019/12/24(火) 07:43:48.05ID:cUFUrp77 (a,b,c,d,e) の動かしかた
A : 小さい f(a-1,b,c,d,e) 枚
X : 最大の1枚
(n) : A,X以外の任意のn枚
n : >>422で定義
A(2n)X / - / -
(n)X / - / A(n)
(n) / X / A(n)
A(n) / X / (n)
A(n) / - / (n)X
- / - / A(2n)X
A : 小さい f(a-1,b,c,d,e) 枚
X : 最大の1枚
(n) : A,X以外の任意のn枚
n : >>422で定義
A(2n)X / - / -
(n)X / - / A(n)
(n) / X / A(n)
A(n) / X / (n)
A(n) / - / (n)X
- / - / A(2n)X
424デフォルトの名無しさん
2019/12/24(火) 07:48:24.24ID:cUFUrp77 ミスった
n = min { a, f(b-1,c,d,e) }
+ min { b, f(c-1,d,e) }
+ min { c, f(d-1,e) }
+ e
n = min { a, f(b-1,c,d,e) }
+ min { b, f(c-1,d,e) }
+ min { c, f(d-1,e) }
+ e
425デフォルトの名無しさん
2019/12/24(火) 19:47:21.14ID:cUFUrp77 動かせる枚数だけですがコードにしました
https://ideone.com/X01d46
https://ideone.com/X01d46
426デフォルトの名無しさん
2019/12/25(水) 16:51:57.78ID:eBvDhPt7 [お題] 2020と素数
"2020"の省略形は"20"
異なる素数を20個使って、総合計で2020を作る。
1) 何種類できるか(組合せで)。 --> ?
以下 数列は昇順でソート済みでの比較
2) 数列の比較で(辞書順)最小な数列を出力。
--> [3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,73,1381]
3) 数列の比較で(辞書順)最大な数列を出力。
--> ?
例) 総合計 26 で要素数 3の場合
種類は[2,5,19],[2,7,17],[2,11,13]の3種類、
最小は[2,5,19], 最大は[2,11,13]
"2020"の省略形は"20"
異なる素数を20個使って、総合計で2020を作る。
1) 何種類できるか(組合せで)。 --> ?
以下 数列は昇順でソート済みでの比較
2) 数列の比較で(辞書順)最小な数列を出力。
--> [3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,73,1381]
3) 数列の比較で(辞書順)最大な数列を出力。
--> ?
例) 総合計 26 で要素数 3の場合
種類は[2,5,19],[2,7,17],[2,11,13]の3種類、
最小は[2,5,19], 最大は[2,11,13]
427デフォルトの名無しさん
2019/12/25(水) 19:05:13.68ID:LrSoTBV6 2) 3) は瞬時だけど
1) は難しい
出題者は出来たんだよね?
1) は難しい
出題者は出来たんだよね?
428426
2019/12/25(水) 19:20:25.05ID:eBvDhPt7429デフォルトの名無しさん
2019/12/25(水) 22:46:56.00ID:LrSoTBV6430デフォルトの名無しさん
2019/12/25(水) 22:48:16.07ID:LrSoTBV6 合ってる?
431デフォルトの名無しさん
2019/12/25(水) 22:57:35.89ID:LrSoTBV6 辞書順最後は
{ 53, 59, 61, 67, 71, 73, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151 }
{ 53, 59, 61, 67, 71, 73, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151 }
432426
2019/12/25(水) 23:33:28.28ID:eBvDhPt7 >>429, 431 当方とおなじです。
>>426
https://ideone.com/SuOGod
数が程々なので、まとめて手抜きの"文字列DP"をやってます。
(pypyで1秒以内で回っているのだから、真面目にやる必要ないでしょう)
>>426
https://ideone.com/SuOGod
数が程々なので、まとめて手抜きの"文字列DP"をやってます。
(pypyで1秒以内で回っているのだから、真面目にやる必要ないでしょう)
433デフォルトの名無しさん
2019/12/26(木) 01:18:40.30ID:rIhsLdYp434デフォルトの名無しさん
2019/12/26(木) 01:28:39.37ID:rIhsLdYp C++だから速いはず
だけど大差無いって事は
アルゴリズムで負けてる?
だけど大差無いって事は
アルゴリズムで負けてる?
435デフォルトの名無しさん
2019/12/26(木) 04:04:05.93ID:Wc5llTmi436デフォルトの名無しさん
2019/12/26(木) 07:13:27.63ID:rIhsLdYp437デフォルトの名無しさん
2019/12/26(木) 07:22:33.88ID:rIhsLdYp438デフォルトの名無しさん
2019/12/26(木) 07:28:47.21ID:rIhsLdYp439蟻人間 ◆T6xkBnTXz7B0
2019/12/26(木) 15:19:10.12ID:Npbug+/w お題: 半角英数からなるユーザーIDとパスワードで認証できるアカウントのシステムを以下の要件で作る。
1.新規登録を選んでユーザーIDとパスワードとメールアドレスを入力するとアカウント登録ができる。
2. 複数アカウント対応。ユーザーIDの重複はダメ。
3. アカウント一覧を選ぶとアカウントの一覧とログイン状態が見える。
4. ログインを選んでユーザーIDとパスワードの入力が一致すればログインできる。
5. ログアウトを選べばログアウトできる。
6. パスワードを忘れたとき、アカウントの回復を選んでメルアド入力すると、メールが来てパスワードがリセットされる。
1.新規登録を選んでユーザーIDとパスワードとメールアドレスを入力するとアカウント登録ができる。
2. 複数アカウント対応。ユーザーIDの重複はダメ。
3. アカウント一覧を選ぶとアカウントの一覧とログイン状態が見える。
4. ログインを選んでユーザーIDとパスワードの入力が一致すればログインできる。
5. ログアウトを選べばログアウトできる。
6. パスワードを忘れたとき、アカウントの回復を選んでメルアド入力すると、メールが来てパスワードがリセットされる。
440デフォルトの名無しさん
2019/12/26(木) 19:06:46.63ID:ArA1I+l7441デフォルトの名無しさん
2019/12/26(木) 19:20:20.20ID:nVG7mTn1442デフォルトの名無しさん
2019/12/26(木) 21:44:10.91ID:nVG7mTn1 https://ideone.com/XFJToQ
vectorを使いまわしするようにしたら速くなった
vectorを使いまわしするようにしたら速くなった
443デフォルトの名無しさん
2019/12/27(金) 00:16:14.43ID:N7T+QvJX https://ideone.com/tm5nPe
まだ省くことができた
まだ省くことができた
444蟻人間 ◆T6xkBnTXz7B0
2019/12/27(金) 18:58:01.81ID:0l4cUgpw Web系もプログラミングの一種なんだけど、日本のIT教育では軽視されてるみたいなんだ。
445デフォルトの名無しさん
2019/12/27(金) 20:56:28.17ID:JVKHwIo7 <('o')>フーン
>>444
web 系をはじめるには、どういう環境で学べばいいですか?
web 系をはじめるには、どういう環境で学べばいいですか?
447デフォルトの名無しさん
2019/12/27(金) 21:12:37.24ID:IA42SgXa448デフォルトの名無しさん
2019/12/27(金) 21:14:11.36ID:IA42SgXa449デフォルトの名無しさん
2019/12/27(金) 22:14:31.51ID:novkoLBo >>426 類似問題
素数を20個使って、総合計で2020を作る。
(同じ素数を複数使ってよい)
何種類できるか(組合せで)。 -->?
(同じ数字は区別しない -> ソートして数列が異なるもので1種類)
ちなみに、辞書順最小が[ 2(* 18), 5, 1979] 、最大が[ 101(* 20)]になる。
※ 2020で20個なら、まだint64_tでおさまる
素数を20個使って、総合計で2020を作る。
(同じ素数を複数使ってよい)
何種類できるか(組合せで)。 -->?
(同じ数字は区別しない -> ソートして数列が異なるもので1種類)
ちなみに、辞書順最小が[ 2(* 18), 5, 1979] 、最大が[ 101(* 20)]になる。
※ 2020で20個なら、まだint64_tでおさまる
450デフォルトの名無しさん
2019/12/27(金) 22:54:15.08ID:IA42SgXa ↑
>>429の+1を消すだけ
>>429の+1を消すだけ
451デフォルトの名無しさん
2019/12/27(金) 22:58:27.12ID:Wx5tgQ31 お題: 「Happy New Year!!」と出力するプログラムを2020年元日に投稿せよ
452デフォルトの名無しさん
2019/12/27(金) 23:32:30.61ID:novkoLBo >>450
やっぱり(既にできていて)、その程度なのだろう。
自分の方も、ユニーク時は更新が伝播しないように
逆順で処理していたのを、伝播するよう正順に戻すだけ。
>>449
https://ideone.com/nQJWLb
やっぱり(既にできていて)、その程度なのだろう。
自分の方も、ユニーク時は更新が伝播しないように
逆順で処理していたのを、伝播するよう正順に戻すだけ。
>>449
https://ideone.com/nQJWLb
453デフォルトの名無しさん
2019/12/27(金) 23:43:22.25ID:IA42SgXa454デフォルトの名無しさん
2019/12/28(土) 01:41:03.72ID:HU/ZZyYG455デフォルトの名無しさん
2019/12/28(土) 03:25:23.74ID:HeaGj5a1 >>423
m≧n≧1 のとき
ピン2に大円盤が1枚以下のときは、ピン0⇔ピン1間、ピン1⇔ピン3間で
n枚組の円盤を移動できますね。 (3ピン手順)
A: 1,2,・・・・,x のx個組 ただし x=f(m-1,n)
B: x+1,...,x+n のn個組
C: x+n+1,・・・・,x+2n+1 のn個組
D: x+2n+1
とする。
m≧n≧1 のとき
ピン2に大円盤が1枚以下のときは、ピン0⇔ピン1間、ピン1⇔ピン3間で
n枚組の円盤を移動できますね。 (3ピン手順)
A: 1,2,・・・・,x のx個組 ただし x=f(m-1,n)
B: x+1,...,x+n のn個組
C: x+n+1,・・・・,x+2n+1 のn個組
D: x+2n+1
とする。
456デフォルトの名無しさん
2019/12/28(土) 03:28:09.64ID:HeaGj5a1 ABCD, -, -, -
BCD, -, -, A
手順2
BC(2..n)D, -, C(1), A
ABC(2..n)D, -, C(1), -
ABC(2..n)D, -, -, C(1)
BC(2..n)D, -, -, AC(1)
手順2
BC(3..n)D, -, C(2), AC(1)
ABC(3..n)D, -, C(2), C(1)
手順3
ABC(3..n)D, -, -, C(1..2)
・・・・
同様にしてC(k)とDを移動する。(k=1..n)
・・・・
ABD, -, -, C
BD, -, -, AC
手順2
B, -, D, AC
AB, -, D, C
手順3
AB, -, -, CD
B, -, -, ACD
B(2..n), -, B(1), ACD
AB(2..n), -, B(1), CD
AB(2..n), -, -, B(1)CD
B(2..n), -, -, AB(1)CD
B(3..n), -, B(2), AB(1)CD
AB(3..n), -, B(2), B(1)CD
手順3
AB(3..n), -, -, B(1..2)CD
BCD, -, -, A
手順2
BC(2..n)D, -, C(1), A
ABC(2..n)D, -, C(1), -
ABC(2..n)D, -, -, C(1)
BC(2..n)D, -, -, AC(1)
手順2
BC(3..n)D, -, C(2), AC(1)
ABC(3..n)D, -, C(2), C(1)
手順3
ABC(3..n)D, -, -, C(1..2)
・・・・
同様にしてC(k)とDを移動する。(k=1..n)
・・・・
ABD, -, -, C
BD, -, -, AC
手順2
B, -, D, AC
AB, -, D, C
手順3
AB, -, -, CD
B, -, -, ACD
B(2..n), -, B(1), ACD
AB(2..n), -, B(1), CD
AB(2..n), -, -, B(1)CD
B(2..n), -, -, AB(1)CD
B(3..n), -, B(2), AB(1)CD
AB(3..n), -, B(2), B(1)CD
手順3
AB(3..n), -, -, B(1..2)CD
457デフォルトの名無しさん
2019/12/28(土) 03:34:05.21ID:HeaGj5a1 B(3..n), -, -, AB(1..2)CD
・・・・・
同様にしてB(k) を移動する。(k=1..n)
・・・・・・
B(n), -, -, AB(1..n-1)CD
-, -, B(n), AB(1..n-1)CD
A, -, B(n), B(1..n-1)CD
手順3’
A, -, -, BCD
-, -, -, ABCD
∴ f(m,n) ≧ f(m-1,n) + 2n + 1,
・手順2
BC(k..n)D, -, -, *
C(k..n)D, B, -, *
C(k+1..n)D, B, C(k), *
BC(k+1..n)D, -, C(k), *
・手順3
*, -, C(k), C(1..k-1)
*, C(1..k-1), C(k), -
*, C(1..k-1), -, C(k)
*, -, -, C(1..k)
・手順3’
*, -, B(k), B(1..k-1)CD
*, B(1..k-1), B(k), CD
*, B(1..k-1), -, B(k)CD
*, -, -, B(1..k)CD
・・・・・
同様にしてB(k) を移動する。(k=1..n)
・・・・・・
B(n), -, -, AB(1..n-1)CD
-, -, B(n), AB(1..n-1)CD
A, -, B(n), B(1..n-1)CD
手順3’
A, -, -, BCD
-, -, -, ABCD
∴ f(m,n) ≧ f(m-1,n) + 2n + 1,
・手順2
BC(k..n)D, -, -, *
C(k..n)D, B, -, *
C(k+1..n)D, B, C(k), *
BC(k+1..n)D, -, C(k), *
・手順3
*, -, C(k), C(1..k-1)
*, C(1..k-1), C(k), -
*, C(1..k-1), -, C(k)
*, -, -, C(1..k)
・手順3’
*, -, B(k), B(1..k-1)CD
*, B(1..k-1), B(k), CD
*, B(1..k-1), -, B(k)CD
*, -, -, B(1..k)CD
458デフォルトの名無しさん
2019/12/28(土) 12:49:55.64ID:eBmyBfXD いつまでハノイのメモ帳続けるんだよw
459デフォルトの名無しさん
2019/12/28(土) 16:57:29.50ID:hZH7LPev >>453
本気でやるには、"もらう"へ作り変える必要もあり、辛い
4つ程度なら、4倍回して出しちゃうだろう。
(四重ループで汚すぎるのでソースは非公開)
4と6の結果のみ載せておこう、あっているかも微妙。
合計: 2020 使用個数: 20 複数制限: 4-->
15100329420197868
[2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 5, 5, 7, 7, 7, 7, 11, 11, 17, 1913]
[89, 89, 89, 97, 97, 97, 101, 101, 101, 101, 103, 103, 103, 103, 107, 107, 107, 107, 109, 109]
********************************************* 0.43922sec ********************
合計: 2020 使用個数: 20 複数制限: 6-->
16509239212753751
[2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 7, 7, 1951]
[97, 97, 97, 97, 97, 97, 101, 101, 101, 101, 101, 101, 103, 103, 103, 103, 103, 103, 107, 107]
********************************************* 0.30568sec ********************
本気でやるには、"もらう"へ作り変える必要もあり、辛い
4つ程度なら、4倍回して出しちゃうだろう。
(四重ループで汚すぎるのでソースは非公開)
4と6の結果のみ載せておこう、あっているかも微妙。
合計: 2020 使用個数: 20 複数制限: 4-->
15100329420197868
[2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 5, 5, 7, 7, 7, 7, 11, 11, 17, 1913]
[89, 89, 89, 97, 97, 97, 101, 101, 101, 101, 103, 103, 103, 103, 107, 107, 107, 107, 109, 109]
********************************************* 0.43922sec ********************
合計: 2020 使用個数: 20 複数制限: 6-->
16509239212753751
[2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 7, 7, 1951]
[97, 97, 97, 97, 97, 97, 101, 101, 101, 101, 101, 101, 103, 103, 103, 103, 103, 103, 107, 107]
********************************************* 0.30568sec ********************
460デフォルトの名無しさん
2019/12/28(土) 19:46:33.82ID:mH66EenF >>426の1)はRで短く書ける(先頭・末尾行は正味の実行時間計測用)。
https://ideone.com/7eV3Kh
Rでは整数は32ビットまでなので、浮動小数点型(double型)で計算しているが、
double型の有効桁数は15桁なので、小数部を非表示にすれば、答である13桁の
整数は正しく表示される。
64ビット整数を扱うbit64というパッケージも一応あるが、それを使うと
正味の実行時間が4.3倍もかかってしまう。
https://ideone.com/hzr0rq
https://ideone.com/7eV3Kh
Rでは整数は32ビットまでなので、浮動小数点型(double型)で計算しているが、
double型の有効桁数は15桁なので、小数部を非表示にすれば、答である13桁の
整数は正しく表示される。
64ビット整数を扱うbit64というパッケージも一応あるが、それを使うと
正味の実行時間が4.3倍もかかってしまう。
https://ideone.com/hzr0rq
461デフォルトの名無しさん
2019/12/28(土) 21:25:10.79ID:4BOt7DVD462デフォルトの名無しさん
2019/12/28(土) 22:48:40.84ID:AtehPr/g お題
最小値のあるインデックスから離れるほど数字が大きくなる数列があります
増加量はランダムです
その数列の中から効率よく最小値を探してください
入力: 115, 109, 107, 101, 92, 85, 76, 66, 65, 62, 53, 49, 40, 38, 35, 25, 23, 17, 9, 2, 0, 5, 8, 10, 11, 20, 30, 37, 42, 47
出力: 0
入力: 110, 104, 96, 93, 84, 83, 87, 93, 98, 103, 113, 120, 121, 128, 133, 134, 142, 152, 159, 169, 171, 174, 183, 186, 196, 203, 210, 212, 221, 224
出力: 83
入力: 138, 135, 127, 124, 122, 112, 103, 98, 92, 87, 77, 73, 71, 63, 59, 51, 41, 36, 45, 54, 63, 71, 81, 88, 90, 98, 105, 112, 114, 119
出力: 36
最小値のあるインデックスから離れるほど数字が大きくなる数列があります
増加量はランダムです
その数列の中から効率よく最小値を探してください
入力: 115, 109, 107, 101, 92, 85, 76, 66, 65, 62, 53, 49, 40, 38, 35, 25, 23, 17, 9, 2, 0, 5, 8, 10, 11, 20, 30, 37, 42, 47
出力: 0
入力: 110, 104, 96, 93, 84, 83, 87, 93, 98, 103, 113, 120, 121, 128, 133, 134, 142, 152, 159, 169, 171, 174, 183, 186, 196, 203, 210, 212, 221, 224
出力: 83
入力: 138, 135, 127, 124, 122, 112, 103, 98, 92, 87, 77, 73, 71, 63, 59, 51, 41, 36, 45, 54, 63, 71, 81, 88, 90, 98, 105, 112, 114, 119
出力: 36
463デフォルトの名無しさん
2019/12/28(土) 23:28:52.09ID:mH66EenF464デフォルトの名無しさん
2019/12/28(土) 23:34:06.76ID:AtehPr/g >>463
私が用意してた答えは二分探索ではありませんでしたが二分探索でできるんですねすごいです
私が用意してた答えは二分探索ではありませんでしたが二分探索でできるんですねすごいです
465デフォルトの名無しさん
2019/12/28(土) 23:38:08.54ID:mH66EenF466デフォルトの名無しさん
2019/12/28(土) 23:42:14.62ID:mH66EenF 再度訂正。1行目が消えていた。
https://ideone.com/mgNo9a
https://ideone.com/mgNo9a
467デフォルトの名無しさん
2019/12/28(土) 23:45:03.69ID:4BOt7DVD 最初に思いつくのが二分探索だからそれより速い方法があるんだろうなと思った
468デフォルトの名無しさん
2019/12/29(日) 00:04:58.67ID:Jtzyjysr469デフォルトの名無しさん
2019/12/29(日) 00:15:11.87ID:Jtzyjysr470デフォルトの名無しさん
2019/12/29(日) 00:41:31.56ID:wJ/DeyFk471デフォルトの名無しさん
2019/12/29(日) 02:13:42.53ID:2ZGuf6bc >>462
Java 三分探索で2/3に範囲を狭めてく
https://paiza.io/projects/NjNBWH-afFYHO5H9w8EJeQ
1/2に減らせる二分探索には敵わない
傾きを二分探索するって発想はなかったわー
Java 三分探索で2/3に範囲を狭めてく
https://paiza.io/projects/NjNBWH-afFYHO5H9w8EJeQ
1/2に減らせる二分探索には敵わない
傾きを二分探索するって発想はなかったわー
472デフォルトの名無しさん
2019/12/29(日) 02:17:13.97ID:2ZGuf6bc >>468
実装の効率はパないすね、効率はそういう意味でもありましたホントです
実装の効率はパないすね、効率はそういう意味でもありましたホントです
473デフォルトの名無しさん
2019/12/29(日) 09:24:17.66ID:Y3W4ZjXN いやいや
ただのリニア検索より遅いのはあり得ん
ただのリニア検索より遅いのはあり得ん
474デフォルトの名無しさん
2019/12/29(日) 19:39:43.67ID:Jtzyjysr でも出てる中で一番速いけど。
475デフォルトの名無しさん
2019/12/29(日) 21:33:41.90ID:wJ/DeyFk >>474
そりゃ、例の数列では要素数が少なくてアルゴリズムの差が出にくいからだろ。
「効率よく」とわざわざ書いてある問題なんだから、もっと大きなデータを与えた
場合も想定して答えるのが普通。
例えば、100万から1までの連番の後に2から50万までの連番が続く数列を与えれば
アルゴリズム間の違いは歴然。
Rで二分探索、min関数、sort関数で求めたときの1回あたり平均実行時間を計測すると、
0.132, 2.08, 55.2ミリ秒で桁が違う (PCでは二分探索はもう少し速かった)。
計算量オーダーがO(log n), O(n), O(n log n)だから当たり前だが。
https://ideone.com/kuqONz
C++の>>468に同じデータを与えると108ミリ秒かかり、何とRのsort関数より遅い。
Rの関数はCで書かれているものが多いから、この差はつまりはCとC++のSTLの
性能差によるものだろう。
https://ideone.com/jMCCfP
そりゃ、例の数列では要素数が少なくてアルゴリズムの差が出にくいからだろ。
「効率よく」とわざわざ書いてある問題なんだから、もっと大きなデータを与えた
場合も想定して答えるのが普通。
例えば、100万から1までの連番の後に2から50万までの連番が続く数列を与えれば
アルゴリズム間の違いは歴然。
Rで二分探索、min関数、sort関数で求めたときの1回あたり平均実行時間を計測すると、
0.132, 2.08, 55.2ミリ秒で桁が違う (PCでは二分探索はもう少し速かった)。
計算量オーダーがO(log n), O(n), O(n log n)だから当たり前だが。
https://ideone.com/kuqONz
C++の>>468に同じデータを与えると108ミリ秒かかり、何とRのsort関数より遅い。
Rの関数はCで書かれているものが多いから、この差はつまりはCとC++のSTLの
性能差によるものだろう。
https://ideone.com/jMCCfP
477デフォルトの名無しさん
2019/12/29(日) 21:41:48.80ID:2ZGuf6bc なんかすまんなみんな、ワイのせいで・・・ワイのせいで・・・ワイは悪くない
478デフォルトの名無しさん
2019/12/29(日) 22:06:29.15ID:Y3W4ZjXN >>462くらい乱数に法則があれば2分検索より速いアルゴリズムを作れる
例としてはイマイチ
例としてはイマイチ
479デフォルトの名無しさん
2019/12/29(日) 22:38:51.59ID:Byl7yBSZ このスレだけマジで何言ってんのか理解できない
やっぱまずいよなあ、数学勉強し直さなきゃなあ
やっぱまずいよなあ、数学勉強し直さなきゃなあ
480デフォルトの名無しさん
2019/12/29(日) 22:43:46.32ID:KptD7+e9 >>426
1)数百万規模でありそう。
1)数百万規模でありそう。
481デフォルトの名無しさん
2019/12/30(月) 08:49:27.55ID:1DW7Hzfm >>475
最適化されたCとC++のSTLならCのほうが分があるということ?
最適化されたCとC++のSTLならCのほうが分があるということ?
482デフォルトの名無しさん
2019/12/30(月) 09:13:40.00ID:W9rqQHA3 突き詰めた機械語にコンバートされるCと
汎用性のSTL
どちらに分があるのか
汎用性のSTL
どちらに分があるのか
483デフォルトの名無しさん
2019/12/30(月) 11:48:55.51ID:1DW7Hzfm 戦争になりそうだが、俺は膝にassertを受けちまってな
皆の力にはなれない、すまない
皆の力にはなれない、すまない
484デフォルトの名無しさん
2019/12/30(月) 13:23:07.59ID:I3iMR+1Y Rのsortは基数ソート使ってるらしいからその差かもしれない
c++のもこのデータの場合stable_sortに変えると3倍くらい速くなった
c++のもこのデータの場合stable_sortに変えると3倍くらい速くなった
485デフォルトの名無しさん
2019/12/30(月) 15:32:52.11ID:fFRqMrLq いいっすねー、新しいお題用意してるからちょっとまってて
486デフォルトの名無しさん
2019/12/30(月) 15:44:13.04ID:fFRqMrLq お題
四角形の縦の長さの数列と
四角形の横の長さの数列と
四角形の面積が与えられます
縦の長さと横の長さを組み合わせて
与えられた面積と一致する四角形をいくつ
作ることができるか求めてください
入力: 41, 9, 25, 92, 48, 15, 69, 61, 85, 22, 82, 79, 7, 34, 86, 29, 36, 77, 16, 79, 57, 8, 9, 58, 86, 0, 24, 83, 63, 46
入力: 12, 79, 11, 65, 9, 33, 44, 54, 30, 43, 76, 23, 24, 86, 15, 35, 21, 97, 57, 96, 6, 3, 59, 51, 29, 58, 93, 94, 49, 8
入力: 195?
四角形の縦の長さの数列と
四角形の横の長さの数列と
四角形の面積が与えられます
縦の長さと横の長さを組み合わせて
与えられた面積と一致する四角形をいくつ
作ることができるか求めてください
入力: 41, 9, 25, 92, 48, 15, 69, 61, 85, 22, 82, 79, 7, 34, 86, 29, 36, 77, 16, 79, 57, 8, 9, 58, 86, 0, 24, 83, 63, 46
入力: 12, 79, 11, 65, 9, 33, 44, 54, 30, 43, 76, 23, 24, 86, 15, 35, 21, 97, 57, 96, 6, 3, 59, 51, 29, 58, 93, 94, 49, 8
入力: 195?
487デフォルトの名無しさん
2019/12/30(月) 15:45:24.75ID:fFRqMrLq 195の後ろの文字化けは無視してください
195と書きたかったのです
195と書きたかったのです
488デフォルトの名無しさん
2019/12/30(月) 15:47:28.48ID:fFRqMrLq 入力の数列の長さが数万になってもちょっぱやで計算できるとなお良いです
489デフォルトの名無しさん
2019/12/30(月) 16:18:52.49ID:pgNmBWor 四角形の縦の長さの定義は?
まさか四角形=長方形じゃないでしょ
まさか四角形=長方形じゃないでしょ
490デフォルトの名無しさん
2019/12/30(月) 16:21:26.52ID:fFRqMrLq491デフォルトの名無しさん
2019/12/30(月) 16:26:20.78ID:fFRqMrLq 問題を書いたときは長方形以外の四角形がこの世に存在するとは思いもよらなかったので四角形と書いたのです
492デフォルトの名無しさん
2019/12/30(月) 18:39:14.57ID:JZjS6BbQ オーダーは n log n
問題には
数列に同じ値が複数あった場合に1個とするのか別カウントするのかという曖昧性がある
問題には
数列に同じ値が複数あった場合に1個とするのか別カウントするのかという曖昧性がある
493デフォルトの名無しさん
2019/12/30(月) 18:41:24.69ID:fFRqMrLq >>492
同じ値は別カウントで良いです
同じ値は別カウントで良いです
494デフォルトの名無しさん
2019/12/30(月) 18:54:14.71ID:JZjS6BbQ 数列が整数限定
数列の数が大きい
面積が小さい
なら
素因数分解っていうアプローチもあるのかな?
数列の数が大きい
面積が小さい
なら
素因数分解っていうアプローチもあるのかな?
495デフォルトの名無しさん
2019/12/30(月) 19:25:46.59ID:fFRqMrLq496デフォルトの名無しさん
2019/12/30(月) 19:25:50.71ID:2F+fuXCx497デフォルトの名無しさん
2019/12/30(月) 19:28:13.92ID:fFRqMrLq >>496
マジですか・・・すごいです
マジですか・・・すごいです
498デフォルトの名無しさん
2019/12/30(月) 19:31:03.47ID:fFRqMrLq >>462
そういえばこの問題って.NETのLINQとかJavaのStreamとか
使ってソートすればたぶんヒープが使われて逐次処理が行われるんで
全部の値をソートせずに答えが求められるんじゃないかと思った
ほぼ線形探索
そういえばこの問題って.NETのLINQとかJavaのStreamとか
使ってソートすればたぶんヒープが使われて逐次処理が行われるんで
全部の値をソートせずに答えが求められるんじゃないかと思った
ほぼ線形探索
499デフォルトの名無しさん
2019/12/30(月) 19:34:34.59ID:2F+fuXCx500デフォルトの名無しさん
2019/12/30(月) 19:38:11.16ID:JZjS6BbQ501デフォルトの名無しさん
2019/12/30(月) 19:39:21.71ID:fFRqMrLq >>500
マジですか・・・
マジですか・・・
502デフォルトの名無しさん
2019/12/30(月) 20:14:35.59ID:2F+fuXCx >>484
Rのマニュアルを調べたら確かにそういう仕様だね。sort関数のmethod引数で
ソート方式を指定できるが、省略時は2^31要素未満の数値ベクトルに対しては
基数ソート、それ以外に対してはシェルソートが選択されると書かれている。
ということで、method引数を明示的に指定して実行時間を比較してみると、
基数、クイック、シェルソートがそれぞれ50.8, 45.2, 38.2ミリ秒で、基数ソートが
何故か一番遅いな。PCで実行したら基数<クイック<シェルの順だったのに。
RのクイックソートでもC++ STLのsortよりはまだ速い。https://ideone.com/g2JEPF
二分探索をCで書けば爆速で、実行時間は0.042マイクロ秒。Rの二分探索と3桁違う。
(キャッシュの影響があるのかも知れないが)。https://ideone.com/Dm65Sp
Rの関数はCかFortranで書かれているものが多いが、binsearch関数はRで書かれているし、
戻り値のフラグ判定が文字列照合という非効率な処理だから、二分探索としては
あまり速くない。
Rのマニュアルを調べたら確かにそういう仕様だね。sort関数のmethod引数で
ソート方式を指定できるが、省略時は2^31要素未満の数値ベクトルに対しては
基数ソート、それ以外に対してはシェルソートが選択されると書かれている。
ということで、method引数を明示的に指定して実行時間を比較してみると、
基数、クイック、シェルソートがそれぞれ50.8, 45.2, 38.2ミリ秒で、基数ソートが
何故か一番遅いな。PCで実行したら基数<クイック<シェルの順だったのに。
RのクイックソートでもC++ STLのsortよりはまだ速い。https://ideone.com/g2JEPF
二分探索をCで書けば爆速で、実行時間は0.042マイクロ秒。Rの二分探索と3桁違う。
(キャッシュの影響があるのかも知れないが)。https://ideone.com/Dm65Sp
Rの関数はCかFortranで書かれているものが多いが、binsearch関数はRで書かれているし、
戻り値のフラグ判定が文字列照合という非効率な処理だから、二分探索としては
あまり速くない。
503デフォルトの名無しさん
2019/12/30(月) 20:30:55.63ID:0ybHI6rZ504デフォルトの名無しさん
2019/12/30(月) 20:46:19.63ID:JZjS6BbQ ハッシュテーブルの検索はオーダー1じゃないと思うんだ
505デフォルトの名無しさん
2019/12/30(月) 21:43:46.47ID:0ybHI6rZ >>504
実装とかによるけど大抵の実装だとほぼO(1)だよ
実装とかによるけど大抵の実装だとほぼO(1)だよ
506デフォルトの名無しさん
2019/12/30(月) 22:39:47.32ID:JZjS6BbQ ほぼ1ってなんだよwww
オーダー1の実装だと
値の範囲という別のオーダーが生まれる
オーダー1の実装だと
値の範囲という別のオーダーが生まれる
507デフォルトの名無しさん
2019/12/30(月) 22:44:20.79ID:fFRqMrLq >>506
平均のことかと
平均のことかと
508デフォルトの名無しさん
2019/12/30(月) 22:53:03.82ID:JZjS6BbQ ああ平均か
最悪値は非常に悪いよね
最悪値は非常に悪いよね
509デフォルトの名無しさん
2019/12/30(月) 22:55:25.07ID:JZjS6BbQ てっきり超巨大ハッシュテーブルを作るのかと思った
510デフォルトの名無しさん
2019/12/30(月) 22:58:46.54ID:fFRqMrLq たしかにハッシュテーブルの最悪の計算量はO(n)だけれども
そうなることってマレだよ
むかしVBで使われてたScripting.Dictionaryはテーブルサイズが1万固定のようで
それ以上になると計算コストがバク上がりしてた
最近のライブラリだとテーブルサイズが可変になってるので問題ない
あとはWebサービスに対する攻撃としてキーが衝突するデータを大量に送りつけるってのが
数年前に話題になったかな
ハッシュ関数を予測してデータを作為的に作らない限り最悪の計算コストになることはないかと
ハッシュテーブル使うときはO(1)で考えて良いと思う
そうなることってマレだよ
むかしVBで使われてたScripting.Dictionaryはテーブルサイズが1万固定のようで
それ以上になると計算コストがバク上がりしてた
最近のライブラリだとテーブルサイズが可変になってるので問題ない
あとはWebサービスに対する攻撃としてキーが衝突するデータを大量に送りつけるってのが
数年前に話題になったかな
ハッシュ関数を予測してデータを作為的に作らない限り最悪の計算コストになることはないかと
ハッシュテーブル使うときはO(1)で考えて良いと思う
511デフォルトの名無しさん
2019/12/30(月) 23:12:19.04ID:p3QJuMJ/ Ruby のハッシュでは、データ数と共に、バケット数を増やしていく。
バケット数は、2 の累乗の次に現れる素数。
2^n + a, 2 <= n <= 30
8 + 3 = 11
16 + 3 = 19
32 + 5 = 37
64 + 3 = 67
128 + 3 = 131
256 + 27 = 283
512 + 9 = 521
データ数が、バケット数の5倍を超えると、ハッシュが再構成される。
再構成時には、極端に遅くなる
11 * 5 = 55 だから、データ数が56 個になると、バケット数が19 になる。
19 * 5 = 95 だから、データ数が96 個になると、バケット数が37 になる
バケット数は、2 の累乗の次に現れる素数。
2^n + a, 2 <= n <= 30
8 + 3 = 11
16 + 3 = 19
32 + 5 = 37
64 + 3 = 67
128 + 3 = 131
256 + 27 = 283
512 + 9 = 521
データ数が、バケット数の5倍を超えると、ハッシュが再構成される。
再構成時には、極端に遅くなる
11 * 5 = 55 だから、データ数が56 個になると、バケット数が19 になる。
19 * 5 = 95 だから、データ数が96 個になると、バケット数が37 になる
512デフォルトの名無しさん
2019/12/30(月) 23:30:39.44ID:JZjS6BbQ 最近は結構インテリジェントに作られてるんだね
unordered_set/map もたまには使ってみようかな
unordered_set/map もたまには使ってみようかな
513デフォルトの名無しさん
2019/12/31(火) 07:26:10.17ID:kRQlhKMg 制約論理型言語だと変数の上限下限を自動的に切ってくれる。
514デフォルトの名無しさん
2019/12/31(火) 09:03:13.10ID:hkax3Wzu お題
フィボナッチ数列のn番目をF(n)とした時
F(F(80))の下位8桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
フィボナッチ数列のn番目をF(n)とした時
F(F(80))の下位8桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
515デフォルトの名無しさん
2019/12/31(火) 10:24:38.95ID:NKLtpqnc516デフォルトの名無しさん
2019/12/31(火) 12:24:58.82ID:5aZymNkm >>515
Rは整数が32ビットまでで桁あふれするから、Juliaで書く。
F = Int64[1 1; 1 0]
n = (F ^ 80)[1, 2]
P = Int64[1 0; 0 1]
R = F
while n > 0
global r = n % 2
global n = div(n, 2)
if r > 0
global P = P * R .% 100000000
end
global R = R * R .% 100000000
end
println(P[1, 2])
-- 実行結果 --
21055810
Rは整数が32ビットまでで桁あふれするから、Juliaで書く。
F = Int64[1 1; 1 0]
n = (F ^ 80)[1, 2]
P = Int64[1 0; 0 1]
R = F
while n > 0
global r = n % 2
global n = div(n, 2)
if r > 0
global P = P * R .% 100000000
end
global R = R * R .% 100000000
end
println(P[1, 2])
-- 実行結果 --
21055810
518デフォルトの名無しさん
2019/12/31(火) 13:18:28.06ID:5aZymNkm519デフォルトの名無しさん
2019/12/31(火) 17:23:41.22ID:NKLtpqnc520513
2019/12/31(火) 18:46:25.67ID:H+c+1UtF521デフォルトの名無しさん
2019/12/31(火) 18:47:43.73ID:H+c+1UtF >>514でした
すみません
すみません
522デフォルトの名無しさん
2019/12/31(火) 19:45:18.11ID:5fWgt8Ro523デフォルトの名無しさん
2019/12/31(火) 20:25:50.73ID:W8YPZd1D >>522
100億人に2020になる素数をプレゼント出来そうだ。
100億人に2020になる素数をプレゼント出来そうだ。
524デフォルトの名無しさん
2019/12/31(火) 20:58:55.61ID:5fWgt8Ro525デフォルトの名無しさん
2020/01/01(水) 07:48:09.89ID:W9Zu1XGU >>523
素数2個の2020は41人しかあげられない。
素数2個の2020は41人しかあげられない。
527デフォルトの名無しさん
2020/01/01(水) 12:56:41.11ID:WIYGoppO お題
a^n + b^n + c^n = 2020
の整数解のうちnが最大の物を求めよ
a^n + b^n + c^n = 2020
の整数解のうちnが最大の物を求めよ
529デフォルトの名無しさん
2020/01/01(水) 15:29:53.46ID:qVK/11PV A HAPPY NEW YEAR !!!
というコード。
というコード。
530デフォルトの名無しさん
2020/01/02(木) 04:45:53.28ID:cCzcmPOa531デフォルトの名無しさん
2020/01/02(木) 14:00:53.09ID:2eGsq/cP (´;ω;`)
532デフォルトの名無しさん
2020/01/03(金) 03:43:04.42ID:ct9N0pK8 お題
a^3 + b^3 + c^3 = 2020 * 2
の整数解を求めよ。
a^3 + b^3 + c^3 = 2020 * 2
の整数解を求めよ。
533デフォルトの名無しさん
2020/01/03(金) 03:49:51.76ID:ct9N0pK8 追加
a^3 + b^3 + c^3 = 2020 / 2・2
の整数解を求めよ。
a^3 + b^3 + c^3 = 2020 / 2・2
の整数解を求めよ。
534デフォルトの名無しさん
2020/01/03(金) 03:54:35.20ID:pVliia9g >>486
Kotlin
https://paiza.io/projects/5OHDudzLFUjSV6DAdxFcfw
こんなので良いの?単に掛け算して一致するか比較しているだけなんだけど。
オマケとして重複しないようにはしているが。
Kotlin
https://paiza.io/projects/5OHDudzLFUjSV6DAdxFcfw
こんなので良いの?単に掛け算して一致するか比較しているだけなんだけど。
オマケとして重複しないようにはしているが。
535デフォルトの名無しさん
2020/01/03(金) 04:17:21.42ID:pVliia9g536デフォルトの名無しさん
2020/01/03(金) 04:18:44.02ID:pVliia9g >>533
最後の 2・2 の部分って何? 2.2? こっちで文字化けしてちゃんと表示されてないだけ?
最後の 2・2 の部分って何? 2.2? こっちで文字化けしてちゃんと表示されてないだけ?
537デフォルトの名無しさん
2020/01/03(金) 09:45:42.54ID:+RiBlMC+ >>536
2020 / 2・2 = 2020 / 2 * 2 = 2020
2020 / 2・2 = 2020 / 2 * 2 = 2020
538デフォルトの名無しさん
2020/01/03(金) 12:48:37.25ID:3k7MKqlh539デフォルトの名無しさん
2020/01/03(金) 12:51:02.88ID:3k7MKqlh >>527
n乗して64bitの範囲だとn=2しか発見出来なかった
n乗して64bitの範囲だとn=2しか発見出来なかった
540デフォルトの名無しさん
2020/01/03(金) 20:05:33.33ID:3k7MKqlh >>532
C
https://ideone.com/ctjDC0
38個見つけるのに1時間くらいかかりました
38個目 (1661082, 440694, -1671358)
こういうのはC/C++が得意でしょう
他の言語で出来ます? (挑戦)
C
https://ideone.com/ctjDC0
38個見つけるのに1時間くらいかかりました
38個目 (1661082, 440694, -1671358)
こういうのはC/C++が得意でしょう
他の言語で出来ます? (挑戦)
541デフォルトの名無しさん
2020/01/04(土) 17:22:50.50ID:HJ66bOYq542デフォルトの名無しさん
2020/01/04(土) 17:47:47.60ID:6lKY6ugm over flow周りはあってるんだかわからん
https://i.imgur.com/PndnV6t.png
https://i.imgur.com/PndnV6t.png
543デフォルトの名無しさん
2020/01/04(土) 19:01:02.66ID:hAlxX0tq Mathematica ?
544デフォルトの名無しさん
2020/01/04(土) 20:28:18.17ID:rMjoeVI8 お題: 文字列を逆順にしてコピーするreverse関数を定義せよ(既存のライブラリを使ってはならない)
545デフォルトの名無しさん
2020/01/04(土) 20:40:17.01ID:YRTK1M0u546デフォルトの名無しさん
2020/01/04(土) 20:46:16.21ID:HJ66bOYq >>544 PowerShell
function reverse($s) {-join $s[-1..-$s.length]}
reverse 文字列を逆順にしてコピーするreverse関数を定義せよ
-- 実行結果 --
よせ義定を数関esreverるすーピコてしに順逆を列字文
function reverse($s) {-join $s[-1..-$s.length]}
reverse 文字列を逆順にしてコピーするreverse関数を定義せよ
-- 実行結果 --
よせ義定を数関esreverるすーピコてしに順逆を列字文
547デフォルトの名無しさん
2020/01/04(土) 21:12:58.70ID:AqMdau2S >>544 Ruby
def reverse( s ); s.chars.inject(:prepend); end
def reverse( s ); s.chars.inject(:prepend); end
548デフォルトの名無しさん
2020/01/04(土) 21:13:39.03ID:rMjoeVI8549デフォルトの名無しさん
2020/01/04(土) 21:26:02.66ID:e7dEja3I550デフォルトの名無しさん
2020/01/05(日) 00:51:01.04ID:Y4p4/H36 >>544
Kotlin
https://paiza.io/projects/RdcgXqdUDC52BTO0y9n1zw
Kotlin の String には reversed() という文字列順序逆転のための拡張関数が最初からあって紛らわしいので rev() という名前で自作した。
Kotlin
https://paiza.io/projects/RdcgXqdUDC52BTO0y9n1zw
Kotlin の String には reversed() という文字列順序逆転のための拡張関数が最初からあって紛らわしいので rev() という名前で自作した。
551デフォルトの名無しさん
2020/01/05(日) 08:25:52.70ID:h+ccWvVu552デフォルトの名無しさん
2020/01/05(日) 08:35:04.57ID:OU8kozEP553デフォルトの名無しさん
2020/01/05(日) 11:04:36.67ID:Z8HxF2cT554デフォルトの名無しさん
2020/01/05(日) 15:25:24.03ID:+tGOF19X555デフォルトの名無しさん
2020/01/05(日) 16:01:41.83ID:8nvrboOv >>540
こういうのを見ると我々は離散数学についてはほぼ無力と思う。
こういうのを見ると我々は離散数学についてはほぼ無力と思う。
556デフォルトの名無しさん
2020/01/05(日) 17:02:46.74ID:x729cdax >>555
勉強しとけ
勉強しとけ
557デフォルトの名無しさん
2020/01/05(日) 21:49:56.17ID:2Fq0AHrI558デフォルトの名無しさん
2020/01/05(日) 21:52:10.17ID:2Fq0AHrI >>542
仮数部も指数部も間違っている。整数で1の位まで正確に求められるよ。
仮数部も指数部も間違っている。整数で1の位まで正確に求められるよ。
559デフォルトの名無しさん
2020/01/05(日) 22:31:31.58ID:h+ccWvVu >>540 サンクス
>>532 の解
{13, 11, 8}
{15, 9, -4}
{8, 1, -2} * 2
{9, -2, -6} * 2
{16, -6, -15} * 2
{74, -23, -73}
{43, -27, -39} * 2
{171, -75, -166}
{169, 64, -172} * 2
{516, 93, -517}
{414, 385, -504} * 2
{530, 337, -572}
{1098, 939, -1291}
{1290, 171, -1291}
{1626, -957, -1507}
{2251, -712, -2227}
{3107, -587, -3100}
{3299, 1018, -3331}
{3509, -2525, -3004}
{4022, -3163, -3221}
{2673, 1114, -2736} * 2
{13571, -9259, -11948}
{15291, -8419, -14388}
{10102, 674, -10103} * 2
{43943, 28524, -47631}
{23689, -3382, -23666} * 2 など。
>>532 の解
{13, 11, 8}
{15, 9, -4}
{8, 1, -2} * 2
{9, -2, -6} * 2
{16, -6, -15} * 2
{74, -23, -73}
{43, -27, -39} * 2
{171, -75, -166}
{169, 64, -172} * 2
{516, 93, -517}
{414, 385, -504} * 2
{530, 337, -572}
{1098, 939, -1291}
{1290, 171, -1291}
{1626, -957, -1507}
{2251, -712, -2227}
{3107, -587, -3100}
{3299, 1018, -3331}
{3509, -2525, -3004}
{4022, -3163, -3221}
{2673, 1114, -2736} * 2
{13571, -9259, -11948}
{15291, -8419, -14388}
{10102, 674, -10103} * 2
{43943, 28524, -47631}
{23689, -3382, -23666} * 2 など。
560デフォルトの名無しさん
2020/01/05(日) 22:41:01.23ID:h+ccWvVu >>533 の解
{8, 1, -2}
{9, -2, -6}
{16, -6, -15}
{43, -27, -39}
{169, 64, -172}
{414, 385, -504}
{530, 337, -572}
{2673, 1114, -2736}
{10102, 674, -10103}
{23689, -3382, -23666}
・・・ ・・・
{830541, 220347, -835679} など。
{8, 1, -2}
{9, -2, -6}
{16, -6, -15}
{43, -27, -39}
{169, 64, -172}
{414, 385, -504}
{530, 337, -572}
{2673, 1114, -2736}
{10102, 674, -10103}
{23689, -3382, -23666}
・・・ ・・・
{830541, 220347, -835679} など。
561デフォルトの名無しさん
2020/01/05(日) 22:48:30.69ID:bLPoA6E7 >>541
C++
https://ideone.com.VJk9QA
倍精度だと微妙に精度が足りないので
擬似4倍精度で計算してみた
4倍精度や多倍長が使える言語やライブラリを使えば一瞬で書けるんだけど
C++
https://ideone.com.VJk9QA
倍精度だと微妙に精度が足りないので
擬似4倍精度で計算してみた
4倍精度や多倍長が使える言語やライブラリを使えば一瞬で書けるんだけど
562デフォルトの名無しさん
2020/01/05(日) 22:49:34.33ID:bLPoA6E7563デフォルトの名無しさん
2020/01/05(日) 23:29:51.01ID:2Fq0AHrI >>562
正解。
Rには多倍長浮動小数点パッケージRmpfrがあるので、120ビット精度での計算をさっと書ける。
多倍長整数パッケージgmpにはフィボナッチ数列の第n項を求める関数があるので、第80項を
自分で求める必要すらない。
https://ideone.com/VcxXIm
C/C++にもlong double型があるので楽勝!と思っていると罠に嵌まる。Visual C++では
long doubleは移植性(単にコンパイルが通るという意味で)のために定義されているだけで、
double精度しかないので使えない。GNU C++ではlong doubleが本当のlong doubleなので使える。
https://ideone.com/3puKYQ
これをVisual C++やGNU Cで実行すると、1の位が2大きい不正確な値が表示されてしまう。
https://ideone.com/Md5qZz
正解。
Rには多倍長浮動小数点パッケージRmpfrがあるので、120ビット精度での計算をさっと書ける。
多倍長整数パッケージgmpにはフィボナッチ数列の第n項を求める関数があるので、第80項を
自分で求める必要すらない。
https://ideone.com/VcxXIm
C/C++にもlong double型があるので楽勝!と思っていると罠に嵌まる。Visual C++では
long doubleは移植性(単にコンパイルが通るという意味で)のために定義されているだけで、
double精度しかないので使えない。GNU C++ではlong doubleが本当のlong doubleなので使える。
https://ideone.com/3puKYQ
これをVisual C++やGNU Cで実行すると、1の位が2大きい不正確な値が表示されてしまう。
https://ideone.com/Md5qZz
564デフォルトの名無しさん
2020/01/05(日) 23:41:09.00ID:2Fq0AHrI GNU C++にも罠があって、https://ideone.com/3puKYQ はideoneでは結果が正しく
表示されているが、Windows版でコンパイルすると「-0桁」になってしまう。
printfの%Lf書式指定子が何故か正常に機能しないようなので、long longに変換して
%lld書式指定子を使う必要がある。
表示されているが、Windows版でコンパイルすると「-0桁」になってしまう。
printfの%Lf書式指定子が何故か正常に機能しないようなので、long longに変換して
%lld書式指定子を使う必要がある。
565デフォルトの名無しさん
2020/01/05(日) 23:58:45.24ID:Z3Lsb/Mg566デフォルトの名無しさん
2020/01/06(月) 00:24:13.90ID:MKFPBGLf x87の80bit形式久々に聞いた
intelの失敗仕様
本当のlong doubleって言ったら128bitの事だと思う
intelの失敗仕様
本当のlong doubleって言ったら128bitの事だと思う
567デフォルトの名無しさん
2020/01/07(火) 12:16:08.47ID:lAASQTDH 本当の?
568デフォルトの名無しさん
2020/01/07(火) 13:02:38.21ID:PuPIfAOU 大きさと精度が一致しないということでは。
例えば、16ビット整数の加算において255+1で桁あふれが発生するのは、勘弁してほしい。
16ビット整数であれば精度も16ビットあってほしい。
例えば、16ビット整数の加算において255+1で桁あふれが発生するのは、勘弁してほしい。
16ビット整数であれば精度も16ビットあってほしい。
569デフォルトの名無しさん
2020/01/07(火) 13:13:00.08ID:4oL1Xwrc intelの拡張小数は箱も中身も80bitだぞ
隠れた1bitも隠さないから中身は79bitとも言えるかもしれないけど
隠れた1bitも隠さないから中身は79bitとも言えるかもしれないけど
570デフォルトの名無しさん
2020/01/07(火) 13:43:12.96ID:PuPIfAOU GCCのlong doubleは128ビットあるから。
571デフォルトの名無しさん
2020/01/07(火) 22:24:41.07ID:Y9qs9jpB572デフォルトの名無しさん
2020/01/07(火) 22:38:44.27ID:Y9qs9jpB ↑の出力結果
4893806799921043 (4893806799921042 + 0.855469)
丸める前の正確な値は
4893806799921042.8564973677594677....
なので小数第二位まで合っています
80bitでもギリギリって感じ
2進数だと
上位62bitまで正確、下位2bitが計算誤差
ということになります
4893806799921043 (4893806799921042 + 0.855469)
丸める前の正確な値は
4893806799921042.8564973677594677....
なので小数第二位まで合っています
80bitでもギリギリって感じ
2進数だと
上位62bitまで正確、下位2bitが計算誤差
ということになります
573デフォルトの名無しさん
2020/01/07(火) 23:09:32.62ID:Y9qs9jpB574デフォルトの名無しさん
2020/01/08(水) 17:55:41.24ID:E2HYW9Z+ お題
フィボナッチ数列のn番目をF(n)とした時
F(F(F(80)))の下位4桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
フィボナッチ数列のn番目をF(n)とした時
F(F(F(80)))の下位4桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
575デフォルトの名無しさん
2020/01/08(水) 18:47:53.52ID:bVQLyL/p フィフィフィボナッチ数列はお腹いっぱい
>>571
x87 すごくいいです!私も 9801FA に i487SX をようやく搭載して準備完了です!
x87 すごくいいです!私も 9801FA に i487SX をようやく搭載して準備完了です!
577デフォルトの名無しさん
2020/01/08(水) 20:00:11.84ID:naqRCa+g お前は昭和何年からタイムスリップしてきたんだ
578デフォルトの名無しさん
2020/01/08(水) 20:33:31.36ID:DEoUiUkq579デフォルトの名無しさん
2020/01/08(水) 21:16:17.44ID:E2HYW9Z+580デフォルトの名無しさん
2020/01/08(水) 23:38:33.13ID:3Vg9kR1l >>544 Perl5
use feature qw{say signatures};
sub reverse($s) {
map {substr $s, -$_, 1} 1..length $s;
}
say &reverse('reverse');
use feature qw{say signatures};
sub reverse($s) {
map {substr $s, -$_, 1} 1..length $s;
}
say &reverse('reverse');
581デフォルトの名無しさん
2020/01/10(金) 10:41:25.62ID:lJ/gG0sx お題:自分用expm1()的なもの。底はe以外でも良い。不正な引数でのエラー処理は
考慮しなくても良い。
考慮しなくても良い。
582デフォルトの名無しさん
2020/01/10(金) 13:20:18.79ID:KXQq2+DU 目的が高精度なのかSIMDなのか単に出題者が勉強したいだけなのか
もしかしてx87命令を使わせたい?
もしかしてx87命令を使わせたい?
583デフォルトの名無しさん
2020/01/10(金) 20:53:23.97ID:1usNcOvE >>581
expm1()って何?
expm1()って何?
584デフォルトの名無しさん
2020/01/10(金) 21:01:53.36ID:jjOShzcG エキスペディション・マグニチュードワンのことやろな
585581
2020/01/10(金) 22:06:13.03ID:lJ/gG0sx586デフォルトの名無しさん
2020/01/10(金) 22:10:45.27ID:lApN4p1F 四則演算も使ったらダメなのかい
588デフォルトの名無しさん
2020/01/11(土) 06:32:12.11ID:wIXPHQcF 出題者が方法を知りたいだけだよね?
なら質問スレ/宿題スレの方が適切
なら質問スレ/宿題スレの方が適切
589デフォルトの名無しさん
2020/01/11(土) 09:22:26.15ID:R1f0qLP3 お題
素数番目の素数をスーパー素数と言う。
スーパー素数の最初の100個を求める。
素数番目の素数をスーパー素数と言う。
スーパー素数の最初の100個を求める。
590デフォルトの名無しさん
2020/01/11(土) 10:27:02.77ID:LQrvWU7L >>589 Ruby 2.7.0
require 'Prime'
p Prime.take(100).then{|p| Prime.take(p.last).select.with_index{p.include?(-~_2)}}
# => [3, 5, 7, [中略], 3761, 3911]
require 'Prime'
p Prime.take(100).then{|p| Prime.take(p.last).select.with_index{p.include?(-~_2)}}
# => [3, 5, 7, [中略], 3761, 3911]
591デフォルトの名無しさん
2020/01/11(土) 10:31:32.27ID:LQrvWU7L typo
# => [3, 5, 11, 17, 31, [中略], 3733, 3761, 3911]
# => [3, 5, 11, 17, 31, [中略], 3733, 3761, 3911]
592デフォルトの名無しさん
2020/01/11(土) 10:52:09.93ID:VG9fEjGe お題
5の倍数の素数を5の倍数素数という
5の倍数素数を全て求めよ
5の倍数の素数を5の倍数素数という
5の倍数素数を全て求めよ
593デフォルトの名無しさん
2020/01/11(土) 11:10:43.29ID:V+Dyph4l 5の倍数の素数ってどういうことですか?
文字通りの意味なら5だけだと思うんですけど
文字通りの意味なら5だけだと思うんですけど
594デフォルトの名無しさん
2020/01/11(土) 13:10:43.10ID:JM9/51Sk >>544 Perl4
use feature qw{say signatures};
sub rev($s) {
$s ne '' and substr ($s, -1, 1, '') . rev($s)
}
say rev('string');
てす
use feature qw{say signatures};
sub rev($s) {
$s ne '' and substr ($s, -1, 1, '') . rev($s)
}
say rev('string');
てす
595デフォルトの名無しさん
2020/01/11(土) 13:14:26.71ID:JM9/51Sk >>594 Perl5 だった…orz
しかし、このソースの「substr (」のrと(の間のスペース文字を省くと
スレへの書き込みで
HTTP/1.1 403 Forbidden
が起きて書き込めなかったのは謎…
しかし、このソースの「substr (」のrと(の間のスペース文字を省くと
スレへの書き込みで
HTTP/1.1 403 Forbidden
が起きて書き込めなかったのは謎…
596デフォルトの名無しさん
2020/01/11(土) 14:01:21.01ID:M68szGrA >>592
echo 5
echo 5
597デフォルトの名無しさん
2020/01/11(土) 20:08:39.02ID:go77StkR お題
20200111の階乗を素因数分解したとき、すべての因数の積は20200111の階乗だが、
すべての因数の和は何か。
20200111の階乗を素因数分解したとき、すべての因数の積は20200111の階乗だが、
すべての因数の和は何か。
598デフォルトの名無しさん
2020/01/11(土) 20:55:04.41ID:r5wulSj/ ナベアツ理論か。
599デフォルトの名無しさん
2020/01/12(日) 00:39:46.42ID:PW2KE/yt >>595
書き込めないコマンドは、一杯ある。
「ls −l」とか
5ch は、特定の命令によって、表示の見た目を変えることができるから、
単に、表示する文字列に変換するだけじゃなくて、
投稿されたテキストから、命令を抽出したりしているから、
バグりそうなテキストを排除しているのだろう
書き込めないコマンドは、一杯ある。
「ls −l」とか
5ch は、特定の命令によって、表示の見た目を変えることができるから、
単に、表示する文字列に変換するだけじゃなくて、
投稿されたテキストから、命令を抽出したりしているから、
バグりそうなテキストを排除しているのだろう
600デフォルトの名無しさん
2020/01/12(日) 10:30:24.93ID:Cuf7XVQy601デフォルトの名無しさん
2020/01/12(日) 16:28:53.41ID:Svv4a/Ag お題: バイナリ―サーチを実装せよ(自分の記憶だけで書かなければならない)
602デフォルトの名無しさん
2020/01/12(日) 16:52:57.01ID:qRMFtMw7603デフォルトの名無しさん
2020/01/12(日) 17:33:54.06ID:kqg5PnqA >>601 Ruby
def bs(ary, &cond)
return ary[0] && cond.call(ary[0]) ? ary[0] : ary[1] && cond.call(ary[1]) ? ary[1] : nil if ary.size < 3
mid = ary.size / 2
bs(ary[cond.call(ary[mid]) ? 0..mid : mid + 1..-1], &cond)
end
p bs([1,3,5,7,9]){|i| i > 0} # => 1
p bs([1,3,5,7,9]){|i| i > 3} # => 5
p bs([1,3,5,7,9]){|i| i > 9} # => nil
def bs(ary, &cond)
return ary[0] && cond.call(ary[0]) ? ary[0] : ary[1] && cond.call(ary[1]) ? ary[1] : nil if ary.size < 3
mid = ary.size / 2
bs(ary[cond.call(ary[mid]) ? 0..mid : mid + 1..-1], &cond)
end
p bs([1,3,5,7,9]){|i| i > 0} # => 1
p bs([1,3,5,7,9]){|i| i > 3} # => 5
p bs([1,3,5,7,9]){|i| i > 9} # => nil
>>601
C++
https://mevius.5ch.net/test/read.cgi/tech/1434079972/33
std::set<int> の再実装にて、内部にバイナリーサーチを含んでいます
C++
https://mevius.5ch.net/test/read.cgi/tech/1434079972/33
std::set<int> の再実装にて、内部にバイナリーサーチを含んでいます
>>601
>(自分の記憶だけで書かなければならない)
これは重要かつ役に立つ訓練のしかたですね、この前は pthread の mutex と cond が理解できているかどうかを、この縛りのもとにコードを書いて試みました
>(自分の記憶だけで書かなければならない)
これは重要かつ役に立つ訓練のしかたですね、この前は pthread の mutex と cond が理解できているかどうかを、この縛りのもとにコードを書いて試みました
606デフォルトの名無しさん
2020/01/12(日) 18:20:53.87ID:Xff8C4Cf >(自分の記憶だけで書かなければならない)
お題は全てそういうものだと思ってたが
みんなカンニングして回答してるの?
お題は全てそういうものだと思ってたが
みんなカンニングして回答してるの?
607デフォルトの名無しさん
2020/01/12(日) 19:59:45.88ID:qRMFtMw7 お題1
10ビットの乱数を10個作成して
2進数に変換して出力してください
10ビットに満たない数は0埋めしてください
例)
1101101110
1000100011
0100111001
1110000001
1001001100
0010001111
1111001000
1010110111
1100001001
0100110111
お題2
縦方向、または、横方向に1が連続しているところを調べて
最も1が連続しているところの1の数を出力してください
ビット数や乱数の数が増えてもちょっぱやで処理できるとなお良いです
10ビットの乱数を10個作成して
2進数に変換して出力してください
10ビットに満たない数は0埋めしてください
例)
1101101110
1000100011
0100111001
1110000001
1001001100
0010001111
1111001000
1010110111
1100001001
0100110111
お題2
縦方向、または、横方向に1が連続しているところを調べて
最も1が連続しているところの1の数を出力してください
ビット数や乱数の数が増えてもちょっぱやで処理できるとなお良いです
608デフォルトの名無しさん
2020/01/12(日) 20:38:11.83ID:xWFTg64o >>600
正解。あなたには簡単すぎただろうが。
Rで書いた解答例はPCでは2秒台で実行できたのに、ideoneでは制限時間5秒以内に
終わらなかったので、C++で書いた方を貼る。https://ideone.com/DFDdtr
>>600とほぼ同じだが、掛け算が減る分だけ速いな。
正解。あなたには簡単すぎただろうが。
Rで書いた解答例はPCでは2秒台で実行できたのに、ideoneでは制限時間5秒以内に
終わらなかったので、C++で書いた方を貼る。https://ideone.com/DFDdtr
>>600とほぼ同じだが、掛け算が減る分だけ速いな。
609デフォルトの名無しさん
2020/01/12(日) 21:27:08.47ID:xWFTg64o610デフォルトの名無しさん
2020/01/12(日) 21:44:57.86ID:qRMFtMw7 >>609
ありがとうございます、そして申し訳ないです
11
11
こうなってたら4と出力してほしくて
連続じゃないですね、隣接といえばよかったかもしれません
縦方向、横方向に1が隣接してる領域のうち最大の領域の1の数を出力して欲しいのです
ありがとうございます、そして申し訳ないです
11
11
こうなってたら4と出力してほしくて
連続じゃないですね、隣接といえばよかったかもしれません
縦方向、横方向に1が隣接してる領域のうち最大の領域の1の数を出力して欲しいのです
611デフォルトの名無しさん
2020/01/12(日) 21:45:02.91ID:xWFTg64o612デフォルトの名無しさん
2020/01/12(日) 21:48:51.97ID:qRMFtMw7 すみません・・・平にご容赦いただきたく
613デフォルトの名無しさん
2020/01/12(日) 21:48:57.49ID:xWFTg64o614デフォルトの名無しさん
2020/01/12(日) 21:52:58.77ID:qRMFtMw7 >>613
矩形じゃなくていいです8個パターンです!
矩形じゃなくていいです8個パターンです!
615デフォルトの名無しさん
2020/01/13(月) 04:22:53.20ID:5GjUS2iX 質問なら質問スレに
宿題なら宿題スレに
回答を用意してない出題は禁止
宿題なら宿題スレに
回答を用意してない出題は禁止
616デフォルトの名無しさん
2020/01/13(月) 04:47:28.11ID:5GjUS2iX 昔ながらのPAINTアルゴリズム
検索すれば色々と出てくるよ
検索すれば色々と出てくるよ
617デフォルトの名無しさん
2020/01/13(月) 05:51:52.90ID:9cAJpR6a >>589 J
smoutput 10 10 $ p: <: p: i.100
実行結果
3 5 11 17 31 41 59 67 83 109
127 157 179 191 211 241 277 283 331 353
367 401 431 461 509 547 563 587 599 617
709 739 773 797 859 877 919 967 991 1031
1063 1087 1153 1171 1201 1217 1297 1409 1433 1447
1471 1499 1523 1597 1621 1669 1723 1741 1787 1823
1847 1913 2027 2063 2081 2099 2221 2269 2341 2351
2381 2417 2477 2549 2609 2647 2683 2719 2749 2803
2897 2909 3001 3019 3067 3109 3169 3229 3259 3299
3319 3407 3469 3517 3559 3593 3637 3733 3761 3911
smoutput 10 10 $ p: <: p: i.100
実行結果
3 5 11 17 31 41 59 67 83 109
127 157 179 191 211 241 277 283 331 353
367 401 431 461 509 547 563 587 599 617
709 739 773 797 859 877 919 967 991 1031
1063 1087 1153 1171 1201 1217 1297 1409 1433 1447
1471 1499 1523 1597 1621 1669 1723 1741 1787 1823
1847 1913 2027 2063 2081 2099 2221 2269 2341 2351
2381 2417 2477 2549 2609 2647 2683 2719 2749 2803
2897 2909 3001 3019 3067 3109 3169 3229 3259 3299
3319 3407 3469 3517 3559 3593 3637 3733 3761 3911
618デフォルトの名無しさん
2020/01/13(月) 09:11:38.57ID:a0NWv3WS >>607はAOJにあった島の数の問題じゃないの
そうじゃなくてもぷよぷよは大抵コレでしょ
そうじゃなくてもぷよぷよは大抵コレでしょ
619デフォルトの名無しさん
2020/01/13(月) 12:20:35.97ID:AM9JqLhx620デフォルトの名無しさん
2020/01/13(月) 14:02:08.92ID:7B3b+WrT621デフォルトの名無しさん
2020/01/13(月) 18:55:55.99ID:7n+Qr/32 >>566
>>569
8087は、第3の実数フォーマット、一時実数を許している点でユニークである。
このフォーマットは、(符号が1ビット)、指数が15ビットで、有効数字が64ビットである。
このフォーマットで格納されている数値は、拡張精度数と言われている。
単精度および倍精度実数と異なり、一時実数は入力および出力値を表わすことを意図していない。
・・・・(中略)・・・・・
それでは、何故80ビットではなく4倍精度すなわち128ビットを一時実数に使わなかったのか。
1つの理由は、4倍精度は少なくとも性能(速度)が半分になることである。
他の理由は、4倍精度を基本フォーマットとして用いると、中間結果のためにより長いフォーマットが必要となることである。
(後略)
・出典
J.F.パーマー・S.P.モース(著)「8087入門」啓学出版 (1985/Feb) 御牧 義 (訳) 2900円
第2章 データフォーマット、p.19-20
>>569
8087は、第3の実数フォーマット、一時実数を許している点でユニークである。
このフォーマットは、(符号が1ビット)、指数が15ビットで、有効数字が64ビットである。
このフォーマットで格納されている数値は、拡張精度数と言われている。
単精度および倍精度実数と異なり、一時実数は入力および出力値を表わすことを意図していない。
・・・・(中略)・・・・・
それでは、何故80ビットではなく4倍精度すなわち128ビットを一時実数に使わなかったのか。
1つの理由は、4倍精度は少なくとも性能(速度)が半分になることである。
他の理由は、4倍精度を基本フォーマットとして用いると、中間結果のためにより長いフォーマットが必要となることである。
(後略)
・出典
J.F.パーマー・S.P.モース(著)「8087入門」啓学出版 (1985/Feb) 御牧 義 (訳) 2900円
第2章 データフォーマット、p.19-20
622デフォルトの名無しさん
2020/01/13(月) 19:02:27.52ID:7n+Qr/32 John F. Palmer, Ph.D. は8087の設計者、
Stephen P. Morse, Ph.D. は8086の設計者だそうな。
Stephen P. Morse, Ph.D. は8086の設計者だそうな。
623デフォルトの名無しさん
2020/01/13(月) 19:38:23.04ID:cBNIohlK x87で遊んでた頃は
将来は4倍精度とか8倍精度とかが当たり前になると思ってたけど
まさか単精度や半精度の時代になるとは
将来は4倍精度とか8倍精度とかが当たり前になると思ってたけど
まさか単精度や半精度の時代になるとは
624デフォルトの名無しさん
2020/01/14(火) 21:06:38.50ID:vjAz2zAO625デフォルトの名無しさん
2020/01/14(火) 21:13:25.69ID:vjAz2zAO 20命令で4個のdoubleのexpm1の計算が出来ます
8パラにしてレイテンシを隠蔽すれば
1個あたり2.5クロックくらい
8パラにしてレイテンシを隠蔽すれば
1個あたり2.5クロックくらい
626デフォルトの名無しさん
2020/01/15(水) 12:05:09.83ID:z1LU+PP1 将来、行列演算もFPU化されると、逆行列の桁落ちが問題になるだろうな・・・・
それを見越して、入出力は64bitのまま内部演算だけ80bitにしたんぢゃね?
それを見越して、入出力は64bitのまま内部演算だけ80bitにしたんぢゃね?
627デフォルトの名無しさん
2020/01/15(水) 13:12:03.91ID:BnAK3ul/ 思想がどんなに優れてても使われなきゃしょうがない
レジスタが8個しか無いから内部だけ80bitでもほとんど精度改善にならないし
メモリに80bit保存するのも使いにくい
互換性の問題もあって
コンパイラや最適化で値がかわってしまうのも都合が悪い
だから演算にx87命令を使ったとしても内部64bit精度がデフォ
x87全盛期に作られたSuperPIも64bit精度の演算を使ってる
80bit精度で計算すれば速度アップ出来るにも関わらず
レジスタが8個しか無いから内部だけ80bitでもほとんど精度改善にならないし
メモリに80bit保存するのも使いにくい
互換性の問題もあって
コンパイラや最適化で値がかわってしまうのも都合が悪い
だから演算にx87命令を使ったとしても内部64bit精度がデフォ
x87全盛期に作られたSuperPIも64bit精度の演算を使ってる
80bit精度で計算すれば速度アップ出来るにも関わらず
628デフォルトの名無しさん
2020/01/15(水) 17:38:16.89ID:xp2qVCg5629デフォルトの名無しさん
2020/01/15(水) 21:04:20.76ID:/kpg6gtq お題:
9つの物がある。
重さが20以下で価値の合計が最大になる組み合わせを求めなさい。
(Part7から再出)
[重さ, 価値]
[
[3, 5],
[5, 6],
[6, 3],
[3, 5],
[5, 9],
[2, 1],
[7, 5],
[4, 6],
[8, 3],
]
9つの物がある。
重さが20以下で価値の合計が最大になる組み合わせを求めなさい。
(Part7から再出)
[重さ, 価値]
[
[3, 5],
[5, 6],
[6, 3],
[3, 5],
[5, 9],
[2, 1],
[7, 5],
[4, 6],
[8, 3],
]
630デフォルトの名無しさん
2020/01/15(水) 21:18:06.99ID:1ZW9vAE3 ナップサック問題か
631デフォルトの名無しさん
2020/01/15(水) 21:27:46.82ID:woCrNz65 重さ < 価値
となる物を集めると丁度重さが20だから
これが解
となる物を集めると丁度重さが20だから
これが解
632デフォルトの名無しさん
2020/01/16(木) 21:02:25.92ID:ZS18thyn 【お題】以下の31個の数の下6桁を求めよ。
20200101の1, 2, 3, ..., 20200101乗の総和
20200102の1, 2, 3, ..., 20200102乗の総和
20200103の1, 2, 3, ..., 20200103乗の総和
:
20200131の1, 2, 3, ..., 20200131乗の総和
20200101の1, 2, 3, ..., 20200101乗の総和
20200102の1, 2, 3, ..., 20200102乗の総和
20200103の1, 2, 3, ..., 20200103乗の総和
:
20200131の1, 2, 3, ..., 20200131乗の総和
633デフォルトの名無しさん
2020/01/17(金) 06:54:23.06ID:bFwt3c1k634デフォルトの名無しさん
2020/01/17(金) 12:14:19.25ID:onsz9c/m >>629
16, 7: 0 0 1 0 0 1 0 0 1
17, 9: 0 0 0 0 0 1 1 0 1
18, 26: 1 1 0 1 1 1 0 0 0
19, 27: 1 1 0 0 1 1 0 1 0
20, 31: 1 1 0 1 1 0 0 1 0
16, 7: 0 0 1 0 0 1 0 0 1
17, 9: 0 0 0 0 0 1 1 0 1
18, 26: 1 1 0 1 1 1 0 0 0
19, 27: 1 1 0 0 1 1 0 1 0
20, 31: 1 1 0 1 1 0 0 1 0
635デフォルトの名無しさん
2020/01/17(金) 18:26:22.50ID:KcAYJrW8636デフォルトの名無しさん
2020/01/17(金) 20:33:32.20ID:VgNyCBhj >>635
正解。
Rによる2種類の解答例
(1) https://ideone.com/7B7IhY
(2) https://ideone.com/Y8jx8o
(1)は等比数列の総和の公式を利用しているので分かりやすいが、途中計算の最大値が
(20200130 * 1000000 - 1) ^ 2 ≒ 2 ^ 88.4 になるかも知れず、64ビット整数の
範囲に収まらないため、Cでは手軽に書けない。Rでは多倍長整数パッケージgmpを
使って書ける。
(2)は部分和をちまちま足していく方式で、途中計算の最大値が (1000000 - 1) ^ 2
≒ 2 ^ 39.9 で済むため、Cでも64ビット整数で計算できる。Rでも多倍長計算が必要な
(1)より速い (正味の実行時間が(1)は0.016秒、(2)は0.004秒)。
正解。
Rによる2種類の解答例
(1) https://ideone.com/7B7IhY
(2) https://ideone.com/Y8jx8o
(1)は等比数列の総和の公式を利用しているので分かりやすいが、途中計算の最大値が
(20200130 * 1000000 - 1) ^ 2 ≒ 2 ^ 88.4 になるかも知れず、64ビット整数の
範囲に収まらないため、Cでは手軽に書けない。Rでは多倍長整数パッケージgmpを
使って書ける。
(2)は部分和をちまちま足していく方式で、途中計算の最大値が (1000000 - 1) ^ 2
≒ 2 ^ 39.9 で済むため、Cでも64ビット整数で計算できる。Rでも多倍長計算が必要な
(1)より速い (正味の実行時間が(1)は0.016秒、(2)は0.004秒)。
637デフォルトの名無しさん
2020/01/17(金) 21:12:46.79ID:KcAYJrW8 お題
f(n) = n^1 + n^2 + ... + n^n の時
f^20200117 (20200117) の下9桁を求めよ
※ f^n (x) = f(f(f(....f(x)))...) 【fがn個】
f(n) = n^1 + n^2 + ... + n^n の時
f^20200117 (20200117) の下9桁を求めよ
※ f^n (x) = f(f(f(....f(x)))...) 【fがn個】
638デフォルトの名無しさん
2020/01/18(土) 00:45:25.84ID:meR2Lc88639デフォルトの名無しさん
2020/01/18(土) 05:21:08.23ID:et7QELfi640デフォルトの名無しさん
2020/01/18(土) 22:25:47.12ID:uIn7pF9I >>637
https://ideone.com/WvoPeq
Rでは時間が掛かりすぎるのでコンパイラ言語を使うが、C/C++だと出題者と同じで
つまらないから、Fortranで書いてみた。nが奇数の場合にしか求められないし、
合っているかどうか分からない。
https://ideone.com/WvoPeq
Rでは時間が掛かりすぎるのでコンパイラ言語を使うが、C/C++だと出題者と同じで
つまらないから、Fortranで書いてみた。nが奇数の場合にしか求められないし、
合っているかどうか分からない。
641デフォルトの名無しさん
2020/01/18(土) 23:02:35.37ID:/9q/+LXn642デフォルトの名無しさん
2020/01/18(土) 23:12:37.20ID:/9q/+LXn >>641だと偶数でもOKです
643デフォルトの名無しさん
2020/01/18(土) 23:31:05.83ID:uIn7pF9I >>641
時間は掛かるがRで下9桁の値を順々にいくつか求めて配列rに記録してから、
プロンプトで any(duplicated(r)) や which(duplicated(r)) と入力して
周期性を見つけただけ。理論的な根拠はない。
時間は掛かるがRで下9桁の値を順々にいくつか求めて配列rに記録してから、
プロンプトで any(duplicated(r)) や which(duplicated(r)) と入力して
周期性を見つけただけ。理論的な根拠はない。
644デフォルトの名無しさん
2020/01/18(土) 23:34:38.18ID:/9q/+LXn thx
周期が既知なら
mod(20200117, 312500) 回だけで済むのでは?
周期が既知なら
mod(20200117, 312500) 回だけで済むのでは?
645デフォルトの名無しさん
2020/01/18(土) 23:45:49.85ID:uIn7pF9I >>644
まあそうだが、それではあまりにもマジックナンバーすぎるので、周期が本当に
312500であるかチェックするコードを31行目に念のため入れた。周期性が
確認できなければ、STOP Errorと表示してプログラムを中断する。
まあそうだが、それではあまりにもマジックナンバーすぎるので、周期が本当に
312500であるかチェックするコードを31行目に念のため入れた。周期性が
確認できなければ、STOP Errorと表示してプログラムを中断する。
646デフォルトの名無しさん
2020/01/19(日) 00:38:02.65ID:msO9WicL 【お題】
無向グラフGが入力として与えられ、Gがサイクルを持てば、
Gの中の最小サイクルの経路とそのコストを出力するプログラムをかけ
*条件
・グラフサイズ(頂点数)は10頂点程度(任意でよい)
・各辺の重みはランダムとする
・入力は隣接行列表現とする
無向グラフGが入力として与えられ、Gがサイクルを持てば、
Gの中の最小サイクルの経路とそのコストを出力するプログラムをかけ
*条件
・グラフサイズ(頂点数)は10頂点程度(任意でよい)
・各辺の重みはランダムとする
・入力は隣接行列表現とする
647デフォルトの名無しさん
2020/01/19(日) 08:33:00.83ID:r8dbXOf2 お題: 文字列aの真ん中に文字列bを挿入する関数chopを定義しなさい
648デフォルトの名無しさん
2020/01/19(日) 08:40:19.34ID:dOSa/ZjO >>647 Ruby
def chop(str); str.tap{|s| s[s.size / 2, 0] = ?b}; end
puts chop('hogefuga') # => hogebfuga
def chop(str); str.tap{|s| s[s.size / 2, 0] = ?b}; end
puts chop('hogefuga') # => hogebfuga
649デフォルトの名無しさん
2020/01/19(日) 08:42:44.39ID:dOSa/ZjO 問題誤読してた
def chop(a, b)
a.tap{|s| s[s.size / 2, 0] = b}
end
puts chop('hogehoge', 'HOGE') # => hogeHOGEhoge
def chop(a, b)
a.tap{|s| s[s.size / 2, 0] = b}
end
puts chop('hogehoge', 'HOGE') # => hogeHOGEhoge
650デフォルトの名無しさん
2020/01/19(日) 10:33:55.37ID:9NcxNk8h お題 (>>346)
1〜1000 の整数の内、3の倍数または5の倍数であるものだけを選んで、その合計を求めよ。
1〜1000 の整数の内、3の倍数または5の倍数であるものだけを選んで、その合計を求めよ。
651デフォルトの名無しさん
2020/01/19(日) 10:37:40.30ID:9NcxNk8h 3の倍数
[1000/3] = 333個
S(3) = 3+6+9+・・・・+999 = 333 * (3+999)/2 = 166833,
5の倍数
[1000/5] = 200個
S(5) = 5+10+15+・・・・+1000 = 200 * (5+1000)/2 = 100500,
3の倍数かつ5の倍数 (15の倍数)
[1000/15] = 66個
S(15) = 15+30+45+・・・・+990 = 66 * (15+990)/2 = 33165,
∴ S(3) + S(5) - S(15) = 100500 + 166833 - 33165 = 234168.
[1000/3] = 333個
S(3) = 3+6+9+・・・・+999 = 333 * (3+999)/2 = 166833,
5の倍数
[1000/5] = 200個
S(5) = 5+10+15+・・・・+1000 = 200 * (5+1000)/2 = 100500,
3の倍数かつ5の倍数 (15の倍数)
[1000/15] = 66個
S(15) = 15+30+45+・・・・+990 = 66 * (15+990)/2 = 33165,
∴ S(3) + S(5) - S(15) = 100500 + 166833 - 33165 = 234168.
652デフォルトの名無しさん
2020/01/19(日) 13:04:07.51ID:CR4NZ4aH 15の倍数含めないんじゃないの?
https://paiza.io/projects/EeMOFbswluii2y-uytbeqA
https://paiza.io/projects/EeMOFbswluii2y-uytbeqA
653デフォルトの名無しさん
2020/01/19(日) 18:23:22.44ID:t01ujcAX >>629 Perl5
use List::Util qw{max};
$W = 20;
$n = @wv = ([3, 5],[5, 6],[6, 3],[3, 5],[5, 9],[2, 1],[7, 5],[4, 6],[8, 3]);
@w = map{$$_[0]} @wv;
@v = map{$$_[1]} @wv;
$wt[$n][$_] = 0 for 0..$W;
for ($i = $n - 1; $i >= 0; $i--) {
for $j (0..$W) {
$ws = $wt[$i + 1][$j];
$ws = max($wt[$i + 1][$j - $w[$i]] + $v[$i], $ws) if $j >= $w[$i];
$wt[$i][$j] = $ws;
}
}
print "価値合計最大: $wt[0][$W]\n";
$j = $W;
for $i (0..$n-1) {
$ws = $wt[$i][$j];
if ($wt[$i + 1][$j] != $ws) {
print "[$w[$i], $v[$i]] ";
$ws -= $v[$i];
for (; 0 <= $j; $j--) { last if $wt[$i + 1][$j] == $ws; }
}
}
$ perl 16_629_nsp_dp.pl
価値合計最大: 31
[3, 5]
[5, 6]
[3, 5]
[5, 9]
[4, 6]
use List::Util qw{max};
$W = 20;
$n = @wv = ([3, 5],[5, 6],[6, 3],[3, 5],[5, 9],[2, 1],[7, 5],[4, 6],[8, 3]);
@w = map{$$_[0]} @wv;
@v = map{$$_[1]} @wv;
$wt[$n][$_] = 0 for 0..$W;
for ($i = $n - 1; $i >= 0; $i--) {
for $j (0..$W) {
$ws = $wt[$i + 1][$j];
$ws = max($wt[$i + 1][$j - $w[$i]] + $v[$i], $ws) if $j >= $w[$i];
$wt[$i][$j] = $ws;
}
}
print "価値合計最大: $wt[0][$W]\n";
$j = $W;
for $i (0..$n-1) {
$ws = $wt[$i][$j];
if ($wt[$i + 1][$j] != $ws) {
print "[$w[$i], $v[$i]] ";
$ws -= $v[$i];
for (; 0 <= $j; $j--) { last if $wt[$i + 1][$j] == $ws; }
}
}
$ perl 16_629_nsp_dp.pl
価値合計最大: 31
[3, 5]
[5, 6]
[3, 5]
[5, 9]
[4, 6]
654デフォルトの名無しさん
2020/01/19(日) 20:22:32.64ID:MJwntUeD >>652
PowerShellには論理XOR演算子があるので簡潔に書けるな。
(1..1000 |? {$_ % 3 -xor $_ % 5} | measure -sum).sum
-- 実行結果 --
201003
PowerShellには論理XOR演算子があるので簡潔に書けるな。
(1..1000 |? {$_ % 3 -xor $_ % 5} | measure -sum).sum
-- 実行結果 --
201003
655デフォルトの名無しさん
2020/01/19(日) 21:28:24.55ID:RfLx+x9F >>652
なぜそう思った?
なぜそう思った?
656デフォルトの名無しさん
2020/01/19(日) 21:32:35.60ID:CR4NZ4aH >>655
だけ と強調してたから15を含めない意図があったのかと思った
だけ と強調してたから15を含めない意図があったのかと思った
657デフォルトの名無しさん
2020/01/19(日) 21:35:30.71ID:RrNuywTU 「3の倍数または5の倍数であるものだけ」という文言をそう理解するのは宇宙でお前だけだと思う
658デフォルトの名無しさん
2020/01/19(日) 22:24:05.06ID:RfLx+x9F 妊娠してるか体が不自由な人だけ使ってください
659デフォルトの名無しさん
2020/01/19(日) 23:13:47.04ID:xkwic4JQ >>658
妊娠してる障害者はすわれないやんけ!
妊娠してる障害者はすわれないやんけ!
660デフォルトの名無しさん
2020/01/20(月) 07:26:08.24ID:MadDRkAO 日本語の選択が排他的かどうかは状況しだいだから難しいところだと思うけどね
レストランで「コーヒーか紅茶が付きます」と言えばどちらか一方でしょ
ケースバイケース
こう解釈したらこういうプログラムになるというふうに思考を広げることはできるっしょ
レストランで「コーヒーか紅茶が付きます」と言えばどちらか一方でしょ
ケースバイケース
こう解釈したらこういうプログラムになるというふうに思考を広げることはできるっしょ
661デフォルトの名無しさん
2020/01/20(月) 08:18:28.86ID:ItoFGwWk662デフォルトの名無しさん
2020/01/20(月) 10:07:25.78ID:DzK/Jy6Q 0個選んで答えは0
コンピュータ言語読み書きしてたらこういう
発想が自然に感じられるが
日常言語の世界ではナンセンス杉
コンピュータ言語読み書きしてたらこういう
発想が自然に感じられるが
日常言語の世界ではナンセンス杉
663デフォルトの名無しさん
2020/01/20(月) 14:10:00.56ID:gT/yNp+O >651 のようにした
common lisp
(loop for i from 1 to 1000 when (= (* (mod i 3) (mod i 5)) 0) sum i)
234168
common lisp
(loop for i from 1 to 1000 when (= (* (mod i 3) (mod i 5)) 0) sum i)
234168
664デフォルトの名無しさん
2020/01/20(月) 15:41:16.18ID:/G9h8LiI >>651 Ruby
def si(n,m); n.step(m,n).inject(:+); end
p n3 = si( 3, 1000 ) #=> 166833
p n5 = si( 5, 1000 ) #=> 100500
p n15 = si( 15, 1000 ) #=> 33165
p n3 + n5 - 2 * n15 #=> 201003
def si(n,m); n.step(m,n).inject(:+); end
p n3 = si( 3, 1000 ) #=> 166833
p n5 = si( 5, 1000 ) #=> 100500
p n15 = si( 15, 1000 ) #=> 33165
p n3 + n5 - 2 * n15 #=> 201003
665デフォルトの名無しさん
2020/01/20(月) 21:46:25.06ID:eV9B9Eib >>629
Rで全探索
https://ideone.com/XDwD7C
物が9個しかないので512通りの組み合わせを全探索してもすぐ終わるし、
上のプログラムの2番目の問題のように、合計価値が最大となる組み合わせが
複数ある場合でもすべて挙げられるし、重さが小数や大きな整数の場合でも
同様に解けるから、全探索が時間的に可能なら全探索の方が良いんじゃないか?
Rで全探索
https://ideone.com/XDwD7C
物が9個しかないので512通りの組み合わせを全探索してもすぐ終わるし、
上のプログラムの2番目の問題のように、合計価値が最大となる組み合わせが
複数ある場合でもすべて挙げられるし、重さが小数や大きな整数の場合でも
同様に解けるから、全探索が時間的に可能なら全探索の方が良いんじゃないか?
666デフォルトの名無しさん
2020/01/20(月) 22:42:22.14ID:vyZs8dgX667デフォルトの名無しさん
2020/01/20(月) 23:01:52.63ID:kEPXORSp 問題に適した解法なら>>631が最強
668デフォルトの名無しさん
2020/01/20(月) 23:10:30.44ID:vyZs8dgX (´・ω・`)「・・・・・」
669デフォルトの名無しさん
2020/01/21(火) 14:48:52.44ID:/dftakVp >>650
Kotlin script
KotlinもBooleanのxor使えたよ。こういう場合は優先順位の問題で括弧が必要になるけどね。
println((1..1000).filter { (it % 3 == 0) xor (it % 5 == 0) }.sum())
Kotlin script
KotlinもBooleanのxor使えたよ。こういう場合は優先順位の問題で括弧が必要になるけどね。
println((1..1000).filter { (it % 3 == 0) xor (it % 5 == 0) }.sum())
670デフォルトの名無しさん
2020/01/21(火) 16:44:59.42ID:TMO7rdDn !=でいんじゃ、、、
671デフォルトの名無しさん
2020/01/21(火) 21:56:37.25ID:q8k+mYw1 ["A -> B" , "A -> D", "B -> E", "D -> E"]
を
A
B
E
D
E
このようにツリー状に表現する際に計算量が少ない書き出し方ってどうなりますか。言語問いません。
を
A
B
E
D
E
このようにツリー状に表現する際に計算量が少ない書き出し方ってどうなりますか。言語問いません。
672デフォルトの名無しさん
2020/01/21(火) 21:57:01.85ID:q8k+mYw1 スペースきえた…
673デフォルトの名無しさん
2020/01/21(火) 21:58:36.68ID:5H3OckH4 D -> B のようなループできるかもね
674デフォルトの名無しさん
2020/01/22(水) 03:28:09.12ID:HNO/xGn/ >>670
それを言っちゃあおしめえよ
それを言っちゃあおしめえよ
675デフォルトの名無しさん
2020/01/22(水) 10:29:09.24ID:Oj6zQLXh676デフォルトの名無しさん
2020/01/22(水) 11:00:25.26ID:8VKZzbv1 >>671
dot
dot
677デフォルトの名無しさん
2020/01/22(水) 19:16:47.36ID:0ayd3B3Q678デフォルトの名無しさん
2020/01/22(水) 19:50:15.23ID:k+w34kNu ["A -> B" , "B -> A]
これで循環参照のチェックいれるコードがない再帰っぽい感じなら無限に出力だ
これで循環参照のチェックいれるコードがない再帰っぽい感じなら無限に出力だ
679デフォルトの名無しさん
2020/01/22(水) 19:55:17.74ID:F1N+c+gr 閉路と多重辺は無しで
辺の無い点も表現出来ないので無し
辺の無い点も表現出来ないので無し
680デフォルトの名無しさん
2020/01/22(水) 20:19:19.31ID:3jquT0bn >>677
20個ならループしない限りは内容が何だろうが20行にしかならないのでは?
20個ならループしない限りは内容が何だろうが20行にしかならないのでは?
681デフォルトの名無しさん
2020/01/22(水) 20:23:02.50ID:1i745hKi 最大は21行だよ
682デフォルトの名無しさん
2020/01/22(水) 20:40:06.51ID:3jquT0bn あー。そうか。21だね。
683デフォルトの名無しさん
2020/01/22(水) 20:43:02.80ID:F1N+c+gr >>671に "E -> C" を加えると?
684デフォルトの名無しさん
2020/01/22(水) 21:13:37.75ID:pXdYyKNl685デフォルトの名無しさん
2020/01/23(木) 01:12:44.95ID:LqZxq9h8 >>683
分岐か。そうすれば増えるね。
分岐か。そうすれば増えるね。
686デフォルトの名無しさん
2020/01/23(木) 18:13:14.12ID:AdSJ3UeH [] 0行
["A -> B"] 2行
["A -> C", "B -> C"] 4行
["A -> D", "B -> D", "C -> D"] 6行
["A -> D", "B -> D", "C -> D", "D -> E"] 9行
["A -> B"] 2行
["A -> C", "B -> C"] 4行
["A -> D", "B -> D", "C -> D"] 6行
["A -> D", "B -> D", "C -> D", "D -> E"] 9行
687デフォルトの名無しさん
2020/01/23(木) 18:45:00.25ID:AdSJ3UeH n≧12 の時、以下を四捨五入した行数になるかな
偶数
4 * exp(n*0.24060591252980172375)
奇数
4.0137530980362538594 * exp(n*0.24060591252980172375)
偶数
4 * exp(n*0.24060591252980172375)
奇数
4.0137530980362538594 * exp(n*0.24060591252980172375)
688デフォルトの名無しさん
2020/01/24(金) 23:55:14.11ID:qxZ+oily >>671 Perl5 (goto 関数を使っていますが、perl5ではこれはcontinuationです)
use feature qw{current_sub signatures};
no warnings 'experimental::signatures';
@sx = (A => B, A => D, B => E, D => E);
sub {
if (@_) {
($a, $b) = (shift, shift);
push @lx, $a unless $h{$a};
push @{$h{$a}}, $b;
$r{$b}{$a} = 1;
goto __SUB__;
}
}->(@sx);
@ax = grep{! $r{$_}} @lx;
sub ($a, $d) {
print "$d$a\n";
__SUB__->($b, "_$d") while $b = shift @{$h{$a}};
}->($_, '') for @ax;
実行結果
$ perl 16_671.pl
A
_B
__E
_D
__E
use feature qw{current_sub signatures};
no warnings 'experimental::signatures';
@sx = (A => B, A => D, B => E, D => E);
sub {
if (@_) {
($a, $b) = (shift, shift);
push @lx, $a unless $h{$a};
push @{$h{$a}}, $b;
$r{$b}{$a} = 1;
goto __SUB__;
}
}->(@sx);
@ax = grep{! $r{$_}} @lx;
sub ($a, $d) {
print "$d$a\n";
__SUB__->($b, "_$d") while $b = shift @{$h{$a}};
}->($_, '') for @ax;
実行結果
$ perl 16_671.pl
A
_B
__E
_D
__E
689デフォルトの名無しさん
2020/01/25(土) 02:34:16.23ID:XZtTnZKV690デフォルトの名無しさん
2020/01/25(土) 02:36:37.70ID:XZtTnZKV つか、無向グラフの最小サイクル検出って
いいアルゴリズムあったっけ
いいアルゴリズムあったっけ
691デフォルトの名無しさん
2020/01/25(土) 06:09:52.81ID:Fgzm1LAC 最小サイクルとは?
コストが最小?通る辺の数が最小?
コストとは?
通る辺の重みの和?
点のコストはゼロ?
出題者しかわからない前提が色々とあるお題
コストが最小?通る辺の数が最小?
コストとは?
通る辺の重みの和?
点のコストはゼロ?
出題者しかわからない前提が色々とあるお題
692デフォルトの名無しさん
2020/01/25(土) 06:22:55.26ID:Fgzm1LAC >>688
gotoを使っちゃいけないローカルルールとかあるの?
gotoを使っちゃいけないローカルルールとかあるの?
693デフォルトの名無しさん
2020/01/25(土) 08:11:44.03ID:O6wUvbi6 tsort(1) ?
694デフォルトの名無しさん
2020/01/25(土) 10:35:48.88ID:ZrgQFiPc >>692
そんなルールはないけれど、制御構造の構文の代わりに安直に
goto分岐を使ったヘッポココードではなくて、perl5のgoto 関数名構文が持つ
continuationの機能を使って、動的環境を維持したまま末尾再帰的な
loopを表現したと言いたかったのよ
そんなルールはないけれど、制御構造の構文の代わりに安直に
goto分岐を使ったヘッポココードではなくて、perl5のgoto 関数名構文が持つ
continuationの機能を使って、動的環境を維持したまま末尾再帰的な
loopを表現したと言いたかったのよ
695デフォルトの名無しさん
2020/01/25(土) 10:38:39.91ID:icKJvqvk なるほど
お前はなかなかやるじゃねえか
お前はなかなかやるじゃねえか
696デフォルトの名無しさん
2020/01/25(土) 11:05:32.17ID:mLh1vP4R お題
.bash_history には、入力したコマンドが、1行ずつ追記されていくが、
同じコマンドが出てくると面倒なので、古い(上にある)方をすべて消してください
入力
5
3
1
4
2
5
3
4
5
出力
1
2
3
4
5
.bash_history には、入力したコマンドが、1行ずつ追記されていくが、
同じコマンドが出てくると面倒なので、古い(上にある)方をすべて消してください
入力
5
3
1
4
2
5
3
4
5
出力
1
2
3
4
5
697デフォルトの名無しさん
2020/01/25(土) 11:14:27.65ID:wxh/zNmo698デフォルトの名無しさん
2020/01/25(土) 12:48:36.66ID:dgvYVRBF699デフォルトの名無しさん
2020/01/25(土) 13:56:27.24ID:yjSryLut >>696 Perl5
$h{$_} = $. while <>;
print for sort{$h{$a} <=> $h{$b}} keys %h;
実行結果
~ $ cat .bash_history
5
3
1
4
2
5
3
4
5
~ $ perl 16_696.pl .bash_history
1
2
3
4
5
$h{$_} = $. while <>;
print for sort{$h{$a} <=> $h{$b}} keys %h;
実行結果
~ $ cat .bash_history
5
3
1
4
2
5
3
4
5
~ $ perl 16_696.pl .bash_history
1
2
3
4
5
700デフォルトの名無しさん
2020/01/25(土) 18:59:55.00ID:xXb4DuHd701デフォルトの名無しさん
2020/01/25(土) 19:19:17.51ID:i4ScOGkF702デフォルトの名無しさん
2020/01/25(土) 19:26:44.09ID:eYyvJiZZ703デフォルトの名無しさん
2020/01/25(土) 20:22:19.72ID:J6xo1Vbp >>696 Emacs Lisp
(with-temp-buffer-window #1="*odai-pt16-696*" nil nil
(switch-to-buffer #1#)
(insert-file-contents "~/.bash_history")
(delete-duplicate-lines (point-min) (point-max) t))
(with-temp-buffer-window #1="*odai-pt16-696*" nil nil
(switch-to-buffer #1#)
(insert-file-contents "~/.bash_history")
(delete-duplicate-lines (point-min) (point-max) t))
704デフォルトの名無しさん
2020/01/26(日) 00:01:21.24ID:4S7WZkam >>701 ナイス
705デフォルトの名無しさん
2020/01/26(日) 00:02:23.79ID:4S7WZkam706696
2020/01/26(日) 00:35:54.22ID:2jcz6vHU >>702
スレ違いで、スマンが、
erasedups で、現在の行と一致する履歴を、保存前にすべて削除するけど、
WSL, Ubuntu 18.04, bash では、削除されなかった!
これは難しい
tmuxとかの仮想端末で複数の画面間で、Bashのコマンド履歴を共有すると、
同じ履歴が何度も記録されてしまう問題を解決する
https://piro.sa@kura.ne.jp/latest/blosxom/webtech/2018-03-04_history-nodup-with-tmux.htm
スレ違いで、スマンが、
erasedups で、現在の行と一致する履歴を、保存前にすべて削除するけど、
WSL, Ubuntu 18.04, bash では、削除されなかった!
これは難しい
tmuxとかの仮想端末で複数の画面間で、Bashのコマンド履歴を共有すると、
同じ履歴が何度も記録されてしまう問題を解決する
https://piro.sa@kura.ne.jp/latest/blosxom/webtech/2018-03-04_history-nodup-with-tmux.htm
707デフォルトの名無しさん
2020/01/26(日) 01:20:33.64ID:4S7WZkam >>706
モチツケ
モチツケ
708696
2020/01/26(日) 01:39:31.40ID:2jcz6vHU history の仕組みが難しいから、
定期的に、ここのスクリプトで、履歴ファイルを上書きした方が良いかも
定期的に、ここのスクリプトで、履歴ファイルを上書きした方が良いかも
709デフォルトの名無しさん
2020/01/26(日) 01:43:44.81ID:HPdacZve rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
710デフォルトの名無しさん
2020/01/26(日) 02:08:32.67ID:4S7WZkam711696
2020/01/26(日) 05:19:41.93ID:2jcz6vHU712696
2020/01/26(日) 06:05:44.52ID:2jcz6vHU >>696
Ruby で作った。
コマンドは「ruby script.rb 入力ファイル名」
# ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ary = ARGF.readlines # 1行ずつ配列に入れる
# ! が付く破壊的メソッドは、メソッドチェーンしない!
ary.reverse!
ary.uniq! # 連続していないものも削除する
ary.reverse! # 元に戻す
print ary.join
Ruby で作った。
コマンドは「ruby script.rb 入力ファイル名」
# ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ary = ARGF.readlines # 1行ずつ配列に入れる
# ! が付く破壊的メソッドは、メソッドチェーンしない!
ary.reverse!
ary.uniq! # 連続していないものも削除する
ary.reverse! # 元に戻す
print ary.join
714デフォルトの名無しさん
2020/01/26(日) 09:38:26.36ID:6CyPsFJq お題: 入力された整数を因数分解し、因数の数だけ「どんだけぇ〜♪」と表示せよ
in < 24
因数分解: 2 2 2 3
out > どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
in < 24
因数分解: 2 2 2 3
out > どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
715デフォルトの名無しさん
2020/01/26(日) 10:24:47.39ID:mBsLdcGX >>709
121 名前:デフォルトの名無しさん (ワッチョイ a763-gk0v)[] 投稿日:2020/01/25(土) 15:52:45.46 ID:WZ3Oswhu0
rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
121 名前:デフォルトの名無しさん (ワッチョイ a763-gk0v)[] 投稿日:2020/01/25(土) 15:52:45.46 ID:WZ3Oswhu0
rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
716デフォルトの名無しさん
2020/01/26(日) 10:35:06.75ID:OyPCa8uu717デフォルトの名無しさん
2020/01/26(日) 11:45:57.12ID:pipfilQo718蟻人間 ◆T6xkBnTXz7B0
2020/01/26(日) 15:31:19.81ID:QR2U0M8L お題: どこかの国に競馬があった。そこの競馬場のルールでは馬券一枚に対して単勝の馬一頭しか選べない。
その日の各ゲームのそれぞれの出場馬について、名前と勝率とオッズが掲示されている。
【今日の競馬】
ゲーム1:
馬A, 0.5, 2.0
馬B, 0.8, 1.2
馬C, 0.9, 0.2
ゲーム2:
馬D, 0.3, 4.0
馬E, 0.5, 3.0
馬F, 0.8, 1.4
予算50,000円で獲得期待金額が最大になるように馬券を購入せよ。馬券の購入において、小数点以下は切り捨てとし、馬券には税金が掛からないものと仮定する。
その日の各ゲームのそれぞれの出場馬について、名前と勝率とオッズが掲示されている。
【今日の競馬】
ゲーム1:
馬A, 0.5, 2.0
馬B, 0.8, 1.2
馬C, 0.9, 0.2
ゲーム2:
馬D, 0.3, 4.0
馬E, 0.5, 3.0
馬F, 0.8, 1.4
予算50,000円で獲得期待金額が最大になるように馬券を購入せよ。馬券の購入において、小数点以下は切り捨てとし、馬券には税金が掛からないものと仮定する。
719デフォルトの名無しさん
2020/01/26(日) 15:44:50.09ID:uQg9mh+n 勝率の和が1を越えてるけど勝率って言うのは勝つ確率のことではなくて何かしらの競馬用語なのか?
720蟻人間 ◆T6xkBnTXz7B0
2020/01/26(日) 15:46:20.30ID:TOQ25Lx5 ここでは、払戻金の倍率(賭けた金が何倍になって払い戻されるか)のことをオッズと呼ぶことにする。払戻金は小数点以下切り捨てとする。
721デフォルトの名無しさん
2020/01/26(日) 15:47:57.17ID:uQg9mh+n てよく見たらいつもの糞コテやん
解散
解散
723デフォルトの名無しさん
2020/01/26(日) 16:14:00.67ID:jQnb27FW 勝つ確率がわからないなら期待値もわからない
普通は買わないのが一番
普通は買わないのが一番
724デフォルトの名無しさん
2020/01/26(日) 16:45:22.64ID:jQnb27FW オッズ0.2って何?
725デフォルトの名無しさん
2020/01/26(日) 17:18:30.67ID:aRFw4TjA 杜撰なお題だなw
727デフォルトの名無しさん
2020/01/26(日) 17:23:34.39ID:uQg9mh+n 100円の馬券が当たるとなんと20円に!
728デフォルトの名無しさん
2020/01/26(日) 18:27:58.48ID:jQnb27FW >>718
ちゃんとしたお題にするつもりが無いなら取り下げて
ちゃんとしたお題にするつもりが無いなら取り下げて
730デフォルトの名無しさん
2020/01/26(日) 18:56:39.39ID:OTxXTlwF >>714
初心者です
JavaScriptです
let n = 24;
const factors = [];
for(let i=2;i<=Math.floor(n/2);i++){
if(n % i !== 0) continue;
for(;;) {
n /= i;
factors.push(i);
if(n % i !== 0) break;
}
}
for(let i=0; i<factors.length; i++) {
console.log('どんだけぇ〜♪')
}
って感じに書いたのですがどうも外側のループで i = 3 以上が実行されないらしく困っています
もしかしたら初学者の自分にもできるかもしれないと思い取り組んでみたのですが…
もしどなたかお知恵をお貸しくだされば嬉しいです
初心者です
JavaScriptです
let n = 24;
const factors = [];
for(let i=2;i<=Math.floor(n/2);i++){
if(n % i !== 0) continue;
for(;;) {
n /= i;
factors.push(i);
if(n % i !== 0) break;
}
}
for(let i=0; i<factors.length; i++) {
console.log('どんだけぇ〜♪')
}
って感じに書いたのですがどうも外側のループで i = 3 以上が実行されないらしく困っています
もしかしたら初学者の自分にもできるかもしれないと思い取り組んでみたのですが…
もしどなたかお知恵をお貸しくだされば嬉しいです
731デフォルトの名無しさん
2020/01/26(日) 19:03:07.14ID:uQg9mh+n732デフォルトの名無しさん
2020/01/26(日) 19:09:59.33ID:OTxXTlwF733デフォルトの名無しさん
2020/01/26(日) 19:18:27.22ID:9QNAjmQu n % i !== 0
734デフォルトの名無しさん
2020/01/26(日) 19:23:55.94ID:pipfilQo >>729
ビルの回数Nを引数として受け取って次の問題を解くプログラムを作ってください
N階建てのビルのある階から卵を落とします。
卵はある階よりも低ければ割れることはなく、ある階よりも高いと割れてしまう。
今、あなたは卵を2つ持っています。
卵が何階で割れるかを調べるもっとも効率のよい方法は何ですか?
そして、その方法で必要な卵を落とす回数は最大で何回ですか?
ビルの回数Nを引数として受け取って次の問題を解くプログラムを作ってください
N階建てのビルのある階から卵を落とします。
卵はある階よりも低ければ割れることはなく、ある階よりも高いと割れてしまう。
今、あなたは卵を2つ持っています。
卵が何階で割れるかを調べるもっとも効率のよい方法は何ですか?
そして、その方法で必要な卵を落とす回数は最大で何回ですか?
735デフォルトの名無しさん
2020/01/26(日) 19:26:53.35ID:TCoNMy8F 2分探索じゃだめか?
736デフォルトの名無しさん
2020/01/26(日) 19:40:43.12ID:yXTxN+fl >>714
C++ イデオン揚げるの面倒なのでべた書きしておくわ。
半月ぶり位にコード書いたけど、やはり良いね。
#include <iostream>
#include <cstdint>
int main() {
std::uintmax_t N = 24;
while (std::cin >> N) {
for (std::uintmax_t i = 2; i <= N; i++) {
while (N % i == 0 && N != 0) {
N /= i;
std::cout <<i<< ":どんだけー。" << std::endl;
}
}
std::cout << std::endl;
}
return 0;
}
C++ イデオン揚げるの面倒なのでべた書きしておくわ。
半月ぶり位にコード書いたけど、やはり良いね。
#include <iostream>
#include <cstdint>
int main() {
std::uintmax_t N = 24;
while (std::cin >> N) {
for (std::uintmax_t i = 2; i <= N; i++) {
while (N % i == 0 && N != 0) {
N /= i;
std::cout <<i<< ":どんだけー。" << std::endl;
}
}
std::cout << std::endl;
}
return 0;
}
737デフォルトの名無しさん
2020/01/26(日) 19:46:17.80ID:3yHBwxN6738デフォルトの名無しさん
2020/01/26(日) 19:50:34.44ID:3yHBwxN6 卵を使う個数
ってのもある
これだとリニア検索で1個使用でつまらん問題になるけど
ってのもある
これだとリニア検索で1個使用でつまらん問題になるけど
739デフォルトの名無しさん
2020/01/26(日) 20:01:47.72ID:vOa1pk8h740デフォルトの名無しさん
2020/01/26(日) 20:15:04.58ID:yXTxN+fl741デフォルトの名無しさん
2020/01/26(日) 20:16:59.01ID:pipfilQo >>735
二分探索だとタマゴが割れて調べられないケースがでてくるんよー
二分探索だとタマゴが割れて調べられないケースがでてくるんよー
742デフォルトの名無しさん
2020/01/26(日) 20:22:08.04ID:OTxXTlwF743デフォルトの名無しさん
2020/01/26(日) 20:28:47.99ID:3yHBwxN6744デフォルトの名無しさん
2020/01/26(日) 20:30:52.46ID:yXTxN+fl >>742
後学のために教えてほしいんだが、なんでnをsqrtしてsup作ってるんだい?
後学のために教えてほしいんだが、なんでnをsqrtしてsup作ってるんだい?
745デフォルトの名無しさん
2020/01/26(日) 20:34:49.19ID:3yHBwxN6746730
2020/01/26(日) 21:16:56.89ID:OTxXTlwF747デフォルトの名無しさん
2020/01/26(日) 21:23:54.19ID:pipfilQo749デフォルトの名無しさん
2020/01/26(日) 22:44:40.59ID:2jcz6vHU750デフォルトの名無しさん
2020/01/26(日) 22:55:24.81ID:2jcz6vHU >>744
素数かどうかなど、素因数分解する際、平方根まで調べれば見つかるから
例えば、a, b が素数で、a < b の時、
a * b = 7 * 11 = 77 なら、√77 = 8.8 で、aは、9 以下で必ず見つかる
つまり、
平方根よりも小さいa * 平方根よりも大きいb = 77
素数かどうかなど、素因数分解する際、平方根まで調べれば見つかるから
例えば、a, b が素数で、a < b の時、
a * b = 7 * 11 = 77 なら、√77 = 8.8 で、aは、9 以下で必ず見つかる
つまり、
平方根よりも小さいa * 平方根よりも大きいb = 77
751蟻人間 ◆T6xkBnTXz7B0
2020/01/26(日) 23:02:50.50ID:QR2U0M8L その辺は数学の整数論を参照あれ。
752デフォルトの名無しさん
2020/01/26(日) 23:07:17.76ID:pipfilQo753デフォルトの名無しさん
2020/01/26(日) 23:18:06.25ID:pipfilQo お題
ある長方形の面積Sが与えられたとき
短い方の辺の長さが最も長くなるときの縦の長さと横の長さを出力してください
ある長方形の面積Sが与えられたとき
短い方の辺の長さが最も長くなるときの縦の長さと横の長さを出力してください
755デフォルトの名無しさん
2020/01/26(日) 23:29:57.26ID:pipfilQo756デフォルトの名無しさん
2020/01/26(日) 23:40:40.14ID:pipfilQo757デフォルトの名無しさん
2020/01/27(月) 00:03:50.82ID:0SHKI7y8 くだらなすぎる
758デフォルトの名無しさん
2020/01/27(月) 06:18:43.37ID:rJ1Bl2Oz759デフォルトの名無しさん
2020/01/27(月) 07:34:21.87ID:ZyjcNjD+ 出題者には回答者からのお題の疑問には答えない主義なの?
「効率」とは何か聞かれてなかった?
「効率」とは何か聞かれてなかった?
760デフォルトの名無しさん
2020/01/27(月) 08:27:54.76ID:ZyjcNjD+ パズル問題は曖昧性なく出題しようよ
解釈で全く違う問題になる
解釈で全く違う問題になる
761デフォルトの名無しさん
2020/01/27(月) 10:13:37.57ID:iRmt59/C 文章の読解も問題に含まれてるのでうざ絡みで答え教えてもらおうとするのは卑怯
762デフォルトの名無しさん
2020/01/27(月) 10:22:09.65ID:7flpRMwp それは問題が十分よくできているときにのみ有効な論であって、
例えば賭け事のオッズとして1未満の値を設定してくるような阿呆がいた場合にはそれ相応の質疑が必要
例えば賭け事のオッズとして1未満の値を設定してくるような阿呆がいた場合にはそれ相応の質疑が必要
763デフォルトの名無しさん
2020/01/27(月) 10:31:51.00ID:2EkFM6ia >>761
この分野では正確に、曖昧性なく書くことが強く求められる
この分野では正確に、曖昧性なく書くことが強く求められる
764デフォルトの名無しさん
2020/01/27(月) 10:32:00.67ID:iRmt59/C グーグルの採用試験で使われてて解説記事もたくさんあるからわからないのは読解力が劣ってるだけ
765デフォルトの名無しさん
2020/01/27(月) 10:35:52.62ID:iRmt59/C これ解けない人はグーグルに入社できない
766デフォルトの名無しさん
2020/01/27(月) 10:42:24.41ID:7flpRMwp ・グーグルの採用試験と一言一句同じなのか
・グーグルに入社できることが何かの優位性を確実に示し得るのか
はい
・グーグルに入社できることが何かの優位性を確実に示し得るのか
はい
767デフォルトの名無しさん
2020/01/27(月) 10:46:12.57ID:iRmt59/C768デフォルトの名無しさん
2020/01/27(月) 10:50:27.14ID:7flpRMwp769デフォルトの名無しさん
2020/01/27(月) 10:51:08.69ID:j8/I9hQ5 >>767
初っ端からビルの回数と書いてある時点で信憑性ゼロだろw
初っ端からビルの回数と書いてある時点で信憑性ゼロだろw
770デフォルトの名無しさん
2020/01/27(月) 10:51:26.39ID:iRmt59/C771デフォルトの名無しさん
2020/01/27(月) 10:52:33.69ID:iRmt59/C772デフォルトの名無しさん
2020/01/27(月) 10:54:56.14ID:7flpRMwp >>770
爪隠したまま進振りぎりぎりの点数叩き出すやつなんてどの道馬鹿だろ
爪隠したまま進振りぎりぎりの点数叩き出すやつなんてどの道馬鹿だろ
773デフォルトの名無しさん
2020/01/27(月) 10:56:14.24ID:iRmt59/C774デフォルトの名無しさん
2020/01/27(月) 10:57:17.70ID:7flpRMwp775デフォルトの名無しさん
2020/01/27(月) 10:58:37.58ID:iRmt59/C >>774
客観的にお前の方が頭悪い
客観的にお前の方が頭悪い
776デフォルトの名無しさん
2020/01/27(月) 10:59:06.99ID:iRmt59/C 悔しかったら問題解いてグーグルにアピールしろ
777デフォルトの名無しさん
2020/01/27(月) 11:01:10.63ID:7flpRMwp ID:iRmt59/C がバカすぎて最高に笑える
まあそいつは麻布→理1→グーグルだから馬鹿だったけどお前よりは確実に賢いわ
まあそいつは麻布→理1→グーグルだから馬鹿だったけどお前よりは確実に賢いわ
778デフォルトの名無しさん
2020/01/27(月) 11:02:05.63ID:iRmt59/C779デフォルトの名無しさん
2020/01/27(月) 11:04:17.11ID:/nctx1iy グーグル絶対賢いマンはこれネタやろワロタwww
780デフォルトの名無しさん
2020/01/27(月) 11:12:30.58ID:j8/I9hQ5781デフォルトの名無しさん
2020/01/27(月) 11:17:35.70ID:gE+WjllM これがgoogleの入社問題!とかいうよくある釣り記事に踊らされた子だね
782デフォルトの名無しさん
2020/01/27(月) 11:49:20.80ID:iRmt59/C783デフォルトの名無しさん
2020/01/27(月) 11:50:22.96ID:iRmt59/C 二度と来ないとは言ったが出ていくとは言ってない
784デフォルトの名無しさん
2020/01/27(月) 11:53:35.80ID:iRmt59/C グーグルの前でお前らは生まれて初めての無力感を味わってるだろうがそれをバネに成長するかどうかはお前ら次第
問題に文句言って満足して終わるのか自らの力不足を認識して研鑽を積むのかこれでお前らの本当の実力が明らかになる
問題に文句言って満足して終わるのか自らの力不足を認識して研鑽を積むのかこれでお前らの本当の実力が明らかになる
785デフォルトの名無しさん
2020/01/27(月) 11:57:23.59ID:iRmt59/C786デフォルトの名無しさん
2020/01/27(月) 12:01:10.21ID:RkrU528F わかったからID真っ赤にする前にスレタイくらい読もうね
787デフォルトの名無しさん
2020/01/27(月) 12:14:18.47ID:iRmt59/C スレタイ音読してノートに書き写して口と耳と手と頭を使い全身でスレタイを理解したけど俺は間違ってないぞ
問題を読み解いてあっと驚くようなオリジナリティ溢れる独創的で優雅な回答を期待してるんだがお前らは何を問われてるのかさえわからない状態だろ
手とり足取り教えて回答に導かれたとしても正確がひねくれてるお前らはそれを嬉しいとは思わないだろ、だったら俺がお前らにできることは一つだけ、お前らが殻を破って成長するのを見守るしかない
問題を読み解いてあっと驚くようなオリジナリティ溢れる独創的で優雅な回答を期待してるんだがお前らは何を問われてるのかさえわからない状態だろ
手とり足取り教えて回答に導かれたとしても正確がひねくれてるお前らはそれを嬉しいとは思わないだろ、だったら俺がお前らにできることは一つだけ、お前らが殻を破って成長するのを見守るしかない
788デフォルトの名無しさん
2020/01/27(月) 12:20:54.84ID:iRmt59/C 頑張れ!!
789デフォルトの名無しさん
2020/01/27(月) 12:37:32.94ID:UkOypP5f http://puzzlefry.com/puzzles/2-eggs-and-100-floor-google-classic-question/
こっちにはちゃんと書いてある
>>734は劣化コピーだ
こっちにはちゃんと書いてある
>>734は劣化コピーだ
790デフォルトの名無しさん
2020/01/27(月) 12:56:13.37ID:UkOypP5f 落とす回数だけ考えれば良いなら答えは簡単
プログラミングのお題である必要は無い
とても簡単な数学の問題
階の上下のコスト、たまご自体のコスト、たまごを落とすコスト
が決まっていて
コストの最小化問題であるなら
やっとプログラミングの出番
たまごを落とす回数しか効率よ中身として思い浮かばないのなら
発想が乏しすぎる
プログラミングのお題である必要は無い
とても簡単な数学の問題
階の上下のコスト、たまご自体のコスト、たまごを落とすコスト
が決まっていて
コストの最小化問題であるなら
やっとプログラミングの出番
たまごを落とす回数しか効率よ中身として思い浮かばないのなら
発想が乏しすぎる
791デフォルトの名無しさん
2020/01/27(月) 12:59:24.87ID:lki83My8 時間の無駄だってグーグルの人事が言ってからだいぶたつのに
まだこんなやついるのか
まだこんなやついるのか
792デフォルトの名無しさん
2020/01/27(月) 13:02:02.71ID:MAYcFInA >>734
引っかけ問題だとすると、とにかく落として卵が割れさえすれば「何階で割れるか」は判明した事になる(何階が割れる割れないの境目の階かを求めよという問題になってないので)、いきなり最上階のN階まで上がってしまい、そこで一つ落として割れるかどうかを確認して終わり。
引っかけ問題だとすると、とにかく落として卵が割れさえすれば「何階で割れるか」は判明した事になる(何階が割れる割れないの境目の階かを求めよという問題になってないので)、いきなり最上階のN階まで上がってしまい、そこで一つ落として割れるかどうかを確認して終わり。
793デフォルトの名無しさん
2020/01/27(月) 13:03:27.26ID:V1mi84GI >>790
スレタイ見て
スレタイ見て
794デフォルトの名無しさん
2020/01/27(月) 13:04:46.23ID:V1mi84GI プログラミングの問題だから
理論ではなく実践を問う問題
理論ではなく実践を問う問題
795デフォルトの名無しさん
2020/01/27(月) 13:26:30.73ID:V1mi84GI796デフォルトの名無しさん
2020/01/27(月) 13:27:47.36ID:V1mi84GI >>792
そんなアホな問題をグーグルが出すわけ無いだろアホw
そんなアホな問題をグーグルが出すわけ無いだろアホw
797デフォルトの名無しさん
2020/01/27(月) 13:28:42.46ID:V1mi84GI お前ら天の邪鬼こじらせて問題解けなくなってんじゃん
798デフォルトの名無しさん
2020/01/27(月) 13:32:57.31ID:UkOypP5f 英文にはちゃんと書いている
日本語が単なる劣化コピー
日本語が単なる劣化コピー
799デフォルトの名無しさん
2020/01/27(月) 13:42:35.38ID:V1mi84GI はいはいもうええから問題解いてもらえる?
800デフォルトの名無しさん
2020/01/27(月) 13:48:46.08ID:n/pRd1c3 Nの下1/3階で1回目落として割れれば最下階から順に上階に向かって落としていく
1回目割れなければ、残ってる階の下1/3階で落として割れれば残っている階の最下階から順に上階に向かって落としていく
以下繰り返し
1回目割れなければ、残ってる階の下1/3階で落として割れれば残っている階の最下階から順に上階に向かって落としていく
以下繰り返し
801800
2020/01/27(月) 14:03:08.96ID:n/pRd1c3 1回目割れなかったときが多すぎるわ失敗
1回目割れなかったときに最下階から落とす回数と、
割れたときに残った階で繰り返す回数が同じになる数値、が答えかな?
1回目割れなかったときに最下階から落とす回数と、
割れたときに残った階で繰り返す回数が同じになる数値、が答えかな?
802デフォルトの名無しさん
2020/01/27(月) 14:44:24.17ID:UkOypP5f >>799
解いたけど
解いたけど
803デフォルトの名無しさん
2020/01/27(月) 14:49:56.90ID:UkOypP5f 一人しか書いてないからどれかわかるよね
804デフォルトの名無しさん
2020/01/27(月) 14:54:43.43ID:V1mi84GI コードは?w
805デフォルトの名無しさん
2020/01/27(月) 15:04:02.91ID:V1mi84GI コードどこにあんねんwwwwww
806デフォルトの名無しさん
2020/01/27(月) 15:05:01.54ID:V1mi84GI 腹イタイwww腹イタイwww
807デフォルトの名無しさん
2020/01/27(月) 16:16:55.08ID:UkOypP5f808デフォルトの名無しさん
2020/01/27(月) 16:30:19.67ID:V1mi84GI809デフォルトの名無しさん
2020/01/27(月) 16:30:35.16ID:V1mi84GI 笑わせんなwwwwww
810デフォルトの名無しさん
2020/01/27(月) 16:42:59.82ID:LGsyX1lU811デフォルトの名無しさん
2020/01/27(月) 17:56:53.82ID:yDu6+ckg812デフォルトの名無しさん
2020/01/27(月) 18:03:48.12ID:V1mi84GI813デフォルトの名無しさん
2020/01/27(月) 18:04:45.83ID:V1mi84GI そのコードを俺に教えてみ
814デフォルトの名無しさん
2020/01/27(月) 18:05:03.70ID:V1mi84GI 早くしてくれみ
815デフォルトの名無しさん
2020/01/27(月) 18:07:47.21ID:yDu6+ckg 金払うってこと?
1万円でいいよ
1万円でいいよ
816デフォルトの名無しさん
2020/01/27(月) 18:11:22.48ID:V1mi84GI >>815
お前のロジック間違ってるから添削してやろうと思ったんだが出したくないならいいわ、お前が恥かかないようにこっちは良かれと思って手を差し伸べてやったんだがそれを振り払うような真似をするならいいわ、考え直すなら今のうちだぞ
お前のロジック間違ってるから添削してやろうと思ったんだが出したくないならいいわ、お前が恥かかないようにこっちは良かれと思って手を差し伸べてやったんだがそれを振り払うような真似をするならいいわ、考え直すなら今のうちだぞ
817デフォルトの名無しさん
2020/01/27(月) 18:12:06.51ID:V1mi84GI 模範解答は一週間後な
あと一週間は引っ張れるわ
あと一週間は引っ張れるわ
818デフォルトの名無しさん
2020/01/27(月) 18:13:14.38ID:DT2W+6qB 合ってるから大丈夫
違うならそれは問題の解釈が私と違うというだけ
違うならそれは問題の解釈が私と違うというだけ
819デフォルトの名無しさん
2020/01/27(月) 18:13:37.87ID:V1mi84GI 間違いを指摘されて出すに出せなくなって金額ふっかけて相手に断らせようとする卑怯な人は正直に手を上げなさい
820デフォルトの名無しさん
2020/01/27(月) 18:15:15.16ID:RTaGNqK6 はいはい
次
次
821デフォルトの名無しさん
2020/01/27(月) 18:16:41.12ID:V1mi84GI >>818
向かうところ敵無しだな、敵わないわwww
向かうところ敵無しだな、敵わないわwww
822デフォルトの名無しさん
2020/01/27(月) 18:19:10.77ID:fd+09zFE いろんな解釈が可能な問題を出しといて
何言ってんだか
何言ってんだか
823デフォルトの名無しさん
2020/01/27(月) 18:21:18.35ID:V1mi84GI >>822
いやいやお前らが天の邪鬼魂を遺憾なく発揮して問題から逃げてるだけでググればわかるけどこの問題の解釈は明確に一つだけだぞ
いやいやお前らが天の邪鬼魂を遺憾なく発揮して問題から逃げてるだけでググればわかるけどこの問題の解釈は明確に一つだけだぞ
824デフォルトの名無しさん
2020/01/27(月) 18:21:43.07ID:ZY6HpsDp 占い師や詐欺師の手法
825デフォルトの名無しさん
2020/01/27(月) 18:23:13.13ID:V1mi84GI レッテル貼りまでやりだしたか
お前らがこんなに追い詰められるのも珍しいな
お前らがこんなに追い詰められるのも珍しいな
826デフォルトの名無しさん
2020/01/27(月) 18:23:40.08ID:V1mi84GI たかが問題一つでどんだけ焦ってるんだよ
827デフォルトの名無しさん
2020/01/27(月) 18:24:20.84ID:V1mi84GI お前らにも解けない問題があるってことを認めれば冷静になれるぞ
828デフォルトの名無しさん
2020/01/27(月) 18:25:30.02ID:V1mi84GI グーグルの入社試験は流石に難しすぎたか
しかたない問題を取り下げます!
しかたない問題を取り下げます!
829デフォルトの名無しさん
2020/01/27(月) 18:27:15.51ID:V1mi84GI 以後この問題に関するレスの一切を禁止します!
830デフォルトの名無しさん
2020/01/27(月) 18:48:38.14ID:MAYcFInA 1. 吉野家へ行って持ち帰りの牛丼を買う。
2. 家に帰ってから玉子を割って器に入れ醤油を少し入れてかき混ぜる。
3. 牛丼の上に掛ける。
4. 食べる。
2. 家に帰ってから玉子を割って器に入れ醤油を少し入れてかき混ぜる。
3. 牛丼の上に掛ける。
4. 食べる。
831デフォルトの名無しさん
2020/01/27(月) 20:11:04.72ID:jQKfoNW1 >>734 (defun f (N) (loop for i from 1 to N when (>= i the-floor) return i))
832デフォルトの名無しさん
2020/01/27(月) 20:55:58.72ID:XWtrHJUJ >>734
マジレスするけど
Nを9としたときタマゴが1個なら
線形に調べるしかない
1 2 3 4 5 6 7 8 9
タマゴが2個なら
二次元に階を並べて縦の位置と横の位置を調べれば良い
7 8 9
4 5 6
1 2 3
ただしこれだと上に登るにつれて調べる数が増えるから
上に登るにつれて回数を減らせばいい
8 9
5 6 7
1 2 3 4
直角二等辺三角形の面積をNとしたときの辺の長さを求めればいい
これは図形の問題だな
F#
https://paiza.io/projects/e_OAtw_89zppN3N9_Zf7xw
マジレスするけど
Nを9としたときタマゴが1個なら
線形に調べるしかない
1 2 3 4 5 6 7 8 9
タマゴが2個なら
二次元に階を並べて縦の位置と横の位置を調べれば良い
7 8 9
4 5 6
1 2 3
ただしこれだと上に登るにつれて調べる数が増えるから
上に登るにつれて回数を減らせばいい
8 9
5 6 7
1 2 3 4
直角二等辺三角形の面積をNとしたときの辺の長さを求めればいい
これは図形の問題だな
F#
https://paiza.io/projects/e_OAtw_89zppN3N9_Zf7xw
833デフォルトの名無しさん
2020/01/27(月) 21:06:37.14ID:ra0g3McZ お題
タマゴがn個
タマゴがn個
834デフォルトの名無しさん
2020/01/27(月) 21:22:17.47ID:ZWQEPunf835デフォルトの名無しさん
2020/01/27(月) 21:23:45.70ID:ZWQEPunf836デフォルトの名無しさん
2020/01/27(月) 21:34:30.57ID:CiSOox2q まあ、高卒の言うことだし
837デフォルトの名無しさん
2020/01/27(月) 22:04:54.25ID:ZyjcNjD+ 高卒 vs 東大卒2人
838デフォルトの名無しさん
2020/01/27(月) 22:55:29.66ID:6+TABcSR 本当にこのスレに東大理系卒のような高学歴がそんなに何人もいるなら
もっとましな回答のコードのレスが日ごろどんどん書き込まれていてもよさそうな気がする
もっとましな回答のコードのレスが日ごろどんどん書き込まれていてもよさそうな気がする
839デフォルトの名無しさん
2020/01/27(月) 22:58:15.90ID:6+TABcSR あるいは東大は出たけれど受験テクニシャンかまぐれ屋さんで
実は時頭の悪い能無し東大卒がここにたむろしているとかか
実は時頭の悪い能無し東大卒がここにたむろしているとかか
840デフォルトの名無しさん
2020/01/27(月) 23:32:17.86ID:GGIV6lt+ 英語にしてもthe Nth floorというのが曖昧で、0始まりか1始まりかによって解が異なる。
N = 100の場合はどちらでも同じになるが。
だから、locale設定を調べて計算式を変えるのがソフトウェア会社として正しい答えのはず。
N = 100の場合はどちらでも同じになるが。
だから、locale設定を調べて計算式を変えるのがソフトウェア会社として正しい答えのはず。
841デフォルトの名無しさん
2020/01/27(月) 23:51:56.45ID:6+TABcSR 階に0って…無いンジャマイカ…
842デフォルトの名無しさん
2020/01/28(火) 00:09:33.30ID:WmWS3LeK イギリスでは1階はgrand floorで2階がfirst floor
有名な話
有名な話
843デフォルトの名無しさん
2020/01/28(火) 00:09:50.77ID:fHG5gSyE 二階がthe first floorだったり, the 12th floorの直上階がthe 14th floorだったりする
844デフォルトの名無しさん
2020/01/28(火) 00:10:46.12ID:SzKOygFW845デフォルトの名無しさん
2020/01/28(火) 00:25:19.83ID:IwozSCni >>844
東大かは分からないけど数学がかなり得意で行動性IQは高そう
個数の傾向から関数関係を暗算か連想間隔でひらめくように導いたような感じ
でもソフトウエアアーキテクチャー矢論理的構造概念は弱そう。
そして言語性IQはたいしたことなく社会性や人間性は劣る感じいわゆる15過ぎたらただの変人みたいな
総じて言うと偏った社会的不適ごう者でいわゆる時頭はよくないタイプ
東大かは分からないけど数学がかなり得意で行動性IQは高そう
個数の傾向から関数関係を暗算か連想間隔でひらめくように導いたような感じ
でもソフトウエアアーキテクチャー矢論理的構造概念は弱そう。
そして言語性IQはたいしたことなく社会性や人間性は劣る感じいわゆる15過ぎたらただの変人みたいな
総じて言うと偏った社会的不適ごう者でいわゆる時頭はよくないタイプ
846デフォルトの名無しさん
2020/01/28(火) 00:27:09.95ID:IwozSCni ずけずけ言ってゴメンチャイ(><)
847デフォルトの名無しさん
2020/01/28(火) 00:27:31.17ID:t/3yzBv7848デフォルトの名無しさん
2020/01/28(火) 00:29:26.14ID:IwozSCni ヨパラテ殴り書きして誤字脱字ゴメンチャイ(><)
849デフォルトの名無しさん
2020/01/28(火) 00:33:31.35ID:sU6by0Qq >>845
一人で発狂してるけど社会不適合者ってお前の事をいうんだと思う
一人で発狂してるけど社会不適合者ってお前の事をいうんだと思う
850デフォルトの名無しさん
2020/01/28(火) 00:38:47.76ID:IwozSCni そう向きになりなさんな。
人のことをそこまで断定的に言うのであればだな、
じゃあ私がどんなタイプで、何が得意不得意で
上の方でどんな回答レスを書いていて、
どんな学歴かそうぞうして書み。
あんさんのプロファイリング能力がどの程度のものか見てやるよ。
人のことをそこまで断定的に言うのであればだな、
じゃあ私がどんなタイプで、何が得意不得意で
上の方でどんな回答レスを書いていて、
どんな学歴かそうぞうして書み。
あんさんのプロファイリング能力がどの程度のものか見てやるよ。
851デフォルトの名無しさん
2020/01/28(火) 00:40:57.07ID:ciqR13vi >>850
酔っぱらってる自覚あるなら書き込みやめてもう寝なよ
酔っぱらってる自覚あるなら書き込みやめてもう寝なよ
852デフォルトの名無しさん
2020/01/28(火) 00:45:04.34ID:IwozSCni もじき寝るけど、このスレのは晩酌の肴代わりに覗いてたまに趣味でレス書いていた程度のことだし
気にしなさんな
気にしなさんな
853デフォルトの名無しさん
2020/01/28(火) 00:45:35.83ID:Ue4lP5nY 3か月でクビになる社会不適合者の>>850
800 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/20(火) 00:16:38.62 ID:6EOJan/q [2/2]
ピッコロさー3ヶ月働いた会社から明日から来なくていいって言われたんだけど酷いと思わない?
ピッコロかわいそうすぎ
800 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/20(火) 00:16:38.62 ID:6EOJan/q [2/2]
ピッコロさー3ヶ月働いた会社から明日から来なくていいって言われたんだけど酷いと思わない?
ピッコロかわいそうすぎ
854デフォルトの名無しさん
2020/01/28(火) 00:48:18.59ID:IwozSCni855デフォルトの名無しさん
2020/01/28(火) 00:52:38.98ID:Ue4lP5nY856デフォルトの名無しさん
2020/01/28(火) 00:57:39.36ID:IwozSCni >>855
あなたに、とっておきのスレをご紹介させていただきます。
いや、悪い意味じゃなく、本当に向いているんじゃないかなと思うスレ
こっちに移動してその持てる能力を存分に発揮してもらえれば、
あなたにとってもとてもプラスだと思うんです。
いかがでしょ。ちょっと覗いてみて下さい。
URlはこちらです。まじめなソフトウエアに関する議論のスレです。
どうそよろしく。
https://mevius.5ch.net/test/read.cgi/tech/1542885246/
あなたに、とっておきのスレをご紹介させていただきます。
いや、悪い意味じゃなく、本当に向いているんじゃないかなと思うスレ
こっちに移動してその持てる能力を存分に発揮してもらえれば、
あなたにとってもとてもプラスだと思うんです。
いかがでしょ。ちょっと覗いてみて下さい。
URlはこちらです。まじめなソフトウエアに関する議論のスレです。
どうそよろしく。
https://mevius.5ch.net/test/read.cgi/tech/1542885246/
857デフォルトの名無しさん
2020/01/28(火) 00:58:54.70ID:Ue4lP5nY858デフォルトの名無しさん
2020/01/28(火) 01:03:48.78ID:IwozSCni >>857
おれ、出題はしたこと無いんだけれどwww
何とち狂ってんだ、大丈夫か?病院紹介しようか?
人がとち狂って火傷ってるのを見るのは、周りから見るとエンターティンメントの
笑いの種みたいなものだから、そんなに頑張って提供しても報われないよ
頭冷やせ
おれ、出題はしたこと無いんだけれどwww
何とち狂ってんだ、大丈夫か?病院紹介しようか?
人がとち狂って火傷ってるのを見るのは、周りから見るとエンターティンメントの
笑いの種みたいなものだから、そんなに頑張って提供しても報われないよ
頭冷やせ
859デフォルトの名無しさん
2020/01/28(火) 01:05:28.08ID:Ue4lP5nY860デフォルトの名無しさん
2020/01/28(火) 01:06:00.26ID:Ue4lP5nY >>858
489 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/04(月) 11:04:59.42 ID:9wLIIjqc [1/3]
お題: 2つの任意の英数字からなる芸術的なアスキーアートを出力しろ
490 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/04(月) 11:07:25.78 ID:9wLIIjqc [2/3]
お題: アスキーアートで芸術的な直線を出力しろ
491 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/04(月) 12:15:59.00 ID:9wLIIjqc [3/3]
お題: アスキーアートで芸術的な木のアスキーアートを出力しろ
489 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/04(月) 11:04:59.42 ID:9wLIIjqc [1/3]
お題: 2つの任意の英数字からなる芸術的なアスキーアートを出力しろ
490 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/04(月) 11:07:25.78 ID:9wLIIjqc [2/3]
お題: アスキーアートで芸術的な直線を出力しろ
491 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/04(月) 12:15:59.00 ID:9wLIIjqc [3/3]
お題: アスキーアートで芸術的な木のアスキーアートを出力しろ
861デフォルトの名無しさん
2020/01/28(火) 01:06:40.59ID:IwozSCni もしかして自称東大卒の心が不自由な方と
レスを通して俺は接近遭遇してしまったんだろうか…
お大事に(-人-)
レスを通して俺は接近遭遇してしまったんだろうか…
お大事に(-人-)
862デフォルトの名無しさん
2020/01/28(火) 01:09:08.10ID:Ue4lP5nY >>861
737 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/16(金) 01:33:55.50 ID:OB5Z17iM
100階建てのビルのある階から卵を落とします。
卵はある階よりも低ければ割れることはなく、ある階よりも高いと割れてしまう。
今、あなたは卵を2つ持っています。
卵が何階で割れるかを調べるもっとも効率のよい方法は何ですか?
そして、その方法で必要な卵を落とす回数は最大で何回ですか?
737 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/16(金) 01:33:55.50 ID:OB5Z17iM
100階建てのビルのある階から卵を落とします。
卵はある階よりも低ければ割れることはなく、ある階よりも高いと割れてしまう。
今、あなたは卵を2つ持っています。
卵が何階で割れるかを調べるもっとも効率のよい方法は何ですか?
そして、その方法で必要な卵を落とす回数は最大で何回ですか?
863デフォルトの名無しさん
2020/01/28(火) 01:12:17.24ID:IwozSCni ∧__∧
( ・ω・) メンヘラーのお相手は、いやどす
ハ∨/^ヽ
ノ::[三ノ :.、
i)、_;|*く; ノ
|!: ::.".T~
ハ、___|
"""~""""""~"""~"""~"
( ・ω・) メンヘラーのお相手は、いやどす
ハ∨/^ヽ
ノ::[三ノ :.、
i)、_;|*く; ノ
|!: ::.".T~
ハ、___|
"""~""""""~"""~"""~"
864デフォルトの名無しさん
2020/01/28(火) 01:16:12.01ID:Ue4lP5nY >>863
だったらさっさと失せような、ピッコロさん
だったらさっさと失せような、ピッコロさん
865デフォルトの名無しさん
2020/01/28(火) 01:18:00.53ID:IwozSCni だったらって言うと、メンヘラー自覚かよ
そしたら本当にお大事に
早く寝るように
そしたら本当にお大事に
早く寝るように
866デフォルトの名無しさん
2020/01/28(火) 01:22:10.27ID:Ue4lP5nY867デフォルトの名無しさん
2020/01/28(火) 01:23:17.31ID:Ue4lP5nY >>865
このスレにももう来なくていいぞ
800 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/20(火) 00:16:38.62 ID:6EOJan/q [2/2]
ピッコロさー3ヶ月働いた会社から明日から来なくていいって言われたんだけど酷いと思わない?
ピッコロかわいそうすぎ
このスレにももう来なくていいぞ
800 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/20(火) 00:16:38.62 ID:6EOJan/q [2/2]
ピッコロさー3ヶ月働いた会社から明日から来なくていいって言われたんだけど酷いと思わない?
ピッコロかわいそうすぎ
868デフォルトの名無しさん
2020/01/28(火) 01:24:31.95ID:SzKOygFW おまいら他でやれ
869デフォルトの名無しさん
2020/01/28(火) 01:26:08.68ID:IwozSCni >>866
おれピッコロじゃねーし
その出題者じゃねーし
寝るように進められたけど、自分からは宣言してねーし
いまからエロ動画見る気だし
あんさん、まじ認識の調子悪そうだな、
悪いこたーいわねぇ、いい子だから今夜は早く寝て
必要に応じ心療内科の受信をご検討あれ
おれピッコロじゃねーし
その出題者じゃねーし
寝るように進められたけど、自分からは宣言してねーし
いまからエロ動画見る気だし
あんさん、まじ認識の調子悪そうだな、
悪いこたーいわねぇ、いい子だから今夜は早く寝て
必要に応じ心療内科の受信をご検討あれ
870デフォルトの名無しさん
2020/01/28(火) 01:27:13.31ID:IwozSCni >>868
ゴメンチャイ(><)
ゴメンチャイ(><)
871デフォルトの名無しさん
2020/01/28(火) 01:27:20.09ID:Ue4lP5nY872デフォルトの名無しさん
2020/01/28(火) 01:28:44.25ID:IwozSCni >>871
そのもう時期があと23分後なわけよwwwwww
そのもう時期があと23分後なわけよwwwwww
873デフォルトの名無しさん
2020/01/28(火) 01:29:53.45ID:Ue4lP5nY >>872
寝る寝ないじゃなく失せろよピッコロ ◆YAZTByPXwc6oさん
寝る寝ないじゃなく失せろよピッコロ ◆YAZTByPXwc6oさん
874デフォルトの名無しさん
2020/01/28(火) 01:32:25.81ID:IwozSCni >>873
どうしよかな〜、そうしよかな〜、やっぱりやめよっかな〜
どうしよかな〜、そうしよかな〜、やっぱりやめよっかな〜
875デフォルトの名無しさん
2020/01/28(火) 01:36:56.33ID:Ue4lP5nY >>874
雑談スレじゃないんだよ、3か月でクビになる社会不適合者のピッコロ ◆YAZTByPXwc6oさん
800 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/20(火) 00:16:38.62 ID:6EOJan/q [2/2]
ピッコロさー3ヶ月働いた会社から明日から来なくていいって言われたんだけど酷いと思わない?
ピッコロかわいそうすぎ
雑談スレじゃないんだよ、3か月でクビになる社会不適合者のピッコロ ◆YAZTByPXwc6oさん
800 名前:ピッコロ ◆YAZTByPXwc6o [] 投稿日:2019/08/20(火) 00:16:38.62 ID:6EOJan/q [2/2]
ピッコロさー3ヶ月働いた会社から明日から来なくていいって言われたんだけど酷いと思わない?
ピッコロかわいそうすぎ
876デフォルトの名無しさん
2020/01/28(火) 01:37:02.13ID:IwozSCni877デフォルトの名無しさん
2020/01/28(火) 01:39:37.00ID:IwozSCni878デフォルトの名無しさん
2020/01/28(火) 01:41:31.73ID:Ue4lP5nY879デフォルトの名無しさん
2020/01/28(火) 01:42:56.42ID:IwozSCni880デフォルトの名無しさん
2020/01/28(火) 01:45:22.25ID:Ue4lP5nY >>879
こういうゴミみたいな出題している方が身の丈に合ってるだろ
714 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/16(土) 16:51:50.43 ID:EVMD7h0V [1/3]
お題: プログラム言語をなにも知らない人にもプログラムの意味が理解できるコメント無しのhello worldを出力するコプログラム
716 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/16(土) 17:16:48.87 ID:EVMD7h0V [2/3]
お題: 文字列に丁度いい具合にグリッチを入れて超かっこいい文字列を作るプログラム
718 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/16(土) 17:21:14.90 ID:EVMD7h0V [3/3]
>>717
いやです
こういうゴミみたいな出題している方が身の丈に合ってるだろ
714 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/16(土) 16:51:50.43 ID:EVMD7h0V [1/3]
お題: プログラム言語をなにも知らない人にもプログラムの意味が理解できるコメント無しのhello worldを出力するコプログラム
716 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/16(土) 17:16:48.87 ID:EVMD7h0V [2/3]
お題: 文字列に丁度いい具合にグリッチを入れて超かっこいい文字列を作るプログラム
718 名前:デフォルトの名無しさん[sage] 投稿日:2019/03/16(土) 17:21:14.90 ID:EVMD7h0V [3/3]
>>717
いやです
881デフォルトの名無しさん
2020/01/28(火) 01:48:23.65ID:IwozSCni >>878
なんや、単なる嫌がらせだったのかい。
そしたら俺よりスルー力の無い相手を探すべきだが
それより昔から人を呪わば穴二つって言ってだな、
人を落としめてる時間や労力があるなら、それを自分に前向く方向に振った方が絶対幸せになるっチュー原理があっての、
あんさんもそうして前進せいや
なんや、単なる嫌がらせだったのかい。
そしたら俺よりスルー力の無い相手を探すべきだが
それより昔から人を呪わば穴二つって言ってだな、
人を落としめてる時間や労力があるなら、それを自分に前向く方向に振った方が絶対幸せになるっチュー原理があっての、
あんさんもそうして前進せいや
882デフォルトの名無しさん
2020/01/28(火) 01:50:38.61ID:IwozSCni まぁかってにしさらせ。
不幸な方向を選択するならそれはあんさん選択したことだ。
他人に責任は無い
不幸な方向を選択するならそれはあんさん選択したことだ。
他人に責任は無い
883デフォルトの名無しさん
2020/01/28(火) 01:53:12.90ID:Ue4lP5nY >>881
スルー力って何だよ
嫌がらせするつもりでここに来てるのか?
コテを外しているから様子を見ていたけど一向にいなくならないから叩き出してやらないと思ってね
偉そうに他人に言い聞かせる前に自分が実践しろよピッコロ ◆YAZTByPXwc6oさん
スルー力って何だよ
嫌がらせするつもりでここに来てるのか?
コテを外しているから様子を見ていたけど一向にいなくならないから叩き出してやらないと思ってね
偉そうに他人に言い聞かせる前に自分が実践しろよピッコロ ◆YAZTByPXwc6oさん
884デフォルトの名無しさん
2020/01/28(火) 01:56:06.99ID:IwozSCni885デフォルトの名無しさん
2020/01/28(火) 02:03:09.62ID:gua2EZr0 VBSで便利なプログラムを作れスレ 2
https://mevius.5ch.net/test/read.cgi/tech/1539439008/737-799
このスレで議論した。
100階のビルでは、14回が最小でした
三角数と書いてある!
https://mevius.5ch.net/test/read.cgi/tech/1539439008/737-799
このスレで議論した。
100階のビルでは、14回が最小でした
三角数と書いてある!
886デフォルトの名無しさん
2020/01/28(火) 02:03:37.01ID:Ue4lP5nY887デフォルトの名無しさん
2020/01/28(火) 02:16:53.06ID:nYsF9Ph8 sibarakuhoutipureiyoro
888デフォルトの名無しさん
2020/01/28(火) 02:18:23.00ID:Ue4lP5nY だね
889885
2020/01/28(火) 02:20:17.70ID:gua2EZr0 このビルの問題は、レベル的には、MS, Google, 灘中の試験レベル!
かなり難しい
MS, Google は、たまに同じ問題を出すw
本では、ビル・ゲイツの面接試験とか、
NHK に出てる、竹内薫の[非公認] Googleの入社試験とか
かなり難しい
MS, Google は、たまに同じ問題を出すw
本では、ビル・ゲイツの面接試験とか、
NHK に出てる、竹内薫の[非公認] Googleの入社試験とか
890885
2020/01/28(火) 02:26:10.32ID:gua2EZr0 もし、このビルの問題が、灘中で出たとしても、5分では思いつかないから、捨てる問題。
漏れなら直感で、平方根ずつ飛ばしていく
100階なら、10階ずつ調査していくと、18回が最小となって、間違いw
即座に、捨てるべき問題ですw
漏れなら直感で、平方根ずつ飛ばしていく
100階なら、10階ずつ調査していくと、18回が最小となって、間違いw
即座に、捨てるべき問題ですw
891デフォルトの名無しさん
2020/01/28(火) 06:59:41.64ID:SzKOygFW 5分でわからなきゃ灘中はあきらめた方が良い
892デフォルトの名無しさん
2020/01/28(火) 07:01:48.95ID:SzKOygFW 瞬時にわかった私は特殊なのかな?
893デフォルトの名無しさん
2020/01/28(火) 07:55:50.95ID:UMSh2EY2 なんで卵が2個になっているんだ?
制限ないから無限だろ
制限ないから無限だろ
894デフォルトの名無しさん
2020/01/28(火) 11:16:27.23ID:zyDEnKd7 >>841
イギリスのsecond floorは日本で言うところの3回だぞ
イギリスのsecond floorは日本で言うところの3回だぞ
895デフォルトの名無しさん
2020/01/28(火) 11:19:05.00ID:lYoEsRq3896デフォルトの名無しさん
2020/01/28(火) 15:48:15.73ID:Bdltl+Ea 1. オロナミンCを買ってくる。
2. コップに卵を割って入れる。
3. オロナミンCをコップに入れる。
4. よくかき混ぜる。
5. 飲む。
2. コップに卵を割って入れる。
3. オロナミンCをコップに入れる。
4. よくかき混ぜる。
5. 飲む。
897デフォルトの名無しさん
2020/01/28(火) 18:39:58.72ID:eRWskeVd おぇっ!
898デフォルトの名無しさん
2020/01/29(水) 07:37:27.84ID:NhzWp0Lr 6. 嘉門タツオを呼ぶ。
7. 歌わせる。
7. 歌わせる。
899デフォルトの名無しさん
2020/01/31(金) 17:07:06.67ID:fxx+hpXO900デフォルトの名無しさん
2020/01/31(金) 19:32:58.05ID:K802DmBr >>696
Kotlin
https://paiza.io/projects/zOzhyVWu8KV0GT7aSR08nA
本当に新しい履歴で古い履歴が置き換えられているかを確認するために入出力は行番号付きで出るようにした(ただし最初の行は0)。
Kotlin
https://paiza.io/projects/zOzhyVWu8KV0GT7aSR08nA
本当に新しい履歴で古い履歴が置き換えられているかを確認するために入出力は行番号付きで出るようにした(ただし最初の行は0)。
901581
2020/02/01(土) 11:30:55.85ID:6JPjRL8V Maxima:
Brentせんせーの真似
expm1(x):=if abs(x) < 1e-8 then x*x/2+x else block([y:expm1(x/2)], y*y+2*y);
一方、英語版Wikipediaに拠ると
ttps://en.wikipedia.org/wiki/Exponential_function
expm1(x):=2*tanh(x/2)/(1-tanh(x/2));
tanh()があって、expm1()が無い場合はこうすればいいのか…。
Brentせんせーの真似
expm1(x):=if abs(x) < 1e-8 then x*x/2+x else block([y:expm1(x/2)], y*y+2*y);
一方、英語版Wikipediaに拠ると
ttps://en.wikipedia.org/wiki/Exponential_function
expm1(x):=2*tanh(x/2)/(1-tanh(x/2));
tanh()があって、expm1()が無い場合はこうすればいいのか…。
902デフォルトの名無しさん
2020/02/01(土) 12:09:01.66ID:YFAnTUnh expm1って
tanhを計算する以外に使う?
tanhを計算する以外に使う?
903581
2020/02/01(土) 13:38:54.16ID:6JPjRL8V HAKMEMに倣って倍角公式でつw
mytanh(x):=if abs(x) < 1e-4 then x-x^3/3 else block([y:mytanh(x/2)],2*y/(1+y^2));
>>902
expm1(x * log(base)) == pow(base, x) - 1
なので、「任意の底でのべき乗マイナス1」のゼロ近傍を精度良く求めたい場合にも使えます。
IEEE754の最新版ではpow(2, x) - 1とpow(10, x) - 1の実装が推奨されてるそうなので、
底が2と10の場合はライブラリ任せになる未来が来る…といいなぁ。
mytanh(x):=if abs(x) < 1e-4 then x-x^3/3 else block([y:mytanh(x/2)],2*y/(1+y^2));
>>902
expm1(x * log(base)) == pow(base, x) - 1
なので、「任意の底でのべき乗マイナス1」のゼロ近傍を精度良く求めたい場合にも使えます。
IEEE754の最新版ではpow(2, x) - 1とpow(10, x) - 1の実装が推奨されてるそうなので、
底が2と10の場合はライブラリ任せになる未来が来る…といいなぁ。
904デフォルトの名無しさん
2020/02/01(土) 14:42:02.22ID:YFAnTUnh905デフォルトの名無しさん
2020/02/01(土) 15:02:59.25ID:YFAnTUnh >>624も見てね
906デフォルトの名無しさん
2020/02/01(土) 15:05:51.22ID:YFAnTUnh スカラーでも4倍精度でも同じ方法が使えます
テーブルサイズは色々と変えられるし
多段にも出来ます
テーブルサイズは色々と変えられるし
多段にも出来ます
907デフォルトの名無しさん
2020/02/07(金) 09:14:07.15ID:qw7QPilU web系でデータ型に固定小数点数がある言語って何がありますか?
908デフォルトの名無しさん
2020/02/07(金) 09:27:50.83ID:9c9xCiV6 >>907
スレチ
スレチ
909デフォルトの名無しさん
2020/02/07(金) 11:37:54.05ID:bSyJxcnp なんでこのスレで質問しようと思ったんだw
910デフォルトの名無しさん
2020/02/08(土) 03:34:30.75ID:B8La3jsg911デフォルトの名無しさん
2020/02/08(土) 07:34:55.37ID:gtTyaGQ0 固定小数点なら何でも良いのか?
912910
2020/02/08(土) 09:59:15.15ID:B8La3jsg あとJavaScriptのこれとか
ttps://github.com/MikeMcl/decimal.js
ttps://github.com/MikeMcl/decimal.js
913デフォルトの名無しさん
2020/02/08(土) 10:33:59.99ID:hHzEGlOh 固定小数点ない言語探す方が難しいだろ
914デフォルトの名無しさん
2020/02/08(土) 11:21:16.10ID:OUJaeRcl 先生、intは固定小数点数に入りますか?
915デフォルトの名無しさん
2020/02/08(土) 20:48:49.89ID:SNKEmgHS 浮動小数点数なら知ってるんだけど固定小数点数ってなに
916デフォルトの名無しさん
2020/02/08(土) 21:08:11.45ID:gtTyaGQ0 小数点が固定なヤツ
整数型に適当に仮想の小数点を打って小数と見なすだけでも固定小数点だし
それ用の命令があるCPUもある
2進数や10進数の固定小数点が比較的良く使われる
整数型に適当に仮想の小数点を打って小数と見なすだけでも固定小数点だし
それ用の命令があるCPUもある
2進数や10進数の固定小数点が比較的良く使われる
917デフォルトの名無しさん
2020/02/08(土) 22:11:46.67ID:TegpS8IB918910
2020/02/09(日) 00:14:06.45ID:W3YVjpeH919デフォルトの名無しさん
2020/02/09(日) 06:42:27.22ID:6++kPC7v920デフォルトの名無しさん
2020/02/09(日) 13:58:31.81ID:0/1sPgy2 スレタイ
921デフォルトの名無しさん
2020/02/09(日) 14:31:55.84ID:kf5XKxtD922デフォルトの名無しさん
2020/02/09(日) 15:49:35.07ID:mw6BsSoR お題:
複数個の数字列がありどれとも共通する数字がないことを判定しなさい。
複数個の数字列がありどれとも共通する数字がないことを判定しなさい。
923デフォルトの名無しさん
2020/02/09(日) 15:59:49.98ID:7EUojISZ 日本語でおk
924デフォルトの名無しさん
2020/02/09(日) 16:24:14.61ID:oNtWIYyZ925デフォルトの名無しさん
2020/02/09(日) 16:26:53.27ID:6++kPC7v926デフォルトの名無しさん
2020/02/09(日) 16:28:52.87ID:6++kPC7v927デフォルトの名無しさん
2020/02/09(日) 17:00:58.89ID:GpaXptWq >>922
AVX512にそんな命令があった気がする
AVX512にそんな命令があった気がする
928デフォルトの名無しさん
2020/02/09(日) 17:08:19.65ID:GpaXptWq 意味がちがうかもちがうかも
ここは出題能力の無い人が多くて困るね
ここは出題能力の無い人が多くて困るね
929910
2020/02/09(日) 17:25:04.23ID:W3YVjpeH930デフォルトの名無しさん
2020/02/09(日) 17:40:10.77ID:GpaXptWq 固定小数点
元の値をN倍して整数値として扱うのが固定小数点
100倍したら小数第2位まで扱えるし
256倍すれば2進数で小数第8位まで扱える
加減算だけなら何倍してようがそのまま扱えばいいが
乗除算があると元の値の何倍であるかを意識しないといけない
N倍してる場合
乗算は c = (a * b) / N
除算は c = (a / b) * N
となる
a, b, c の3個とも倍率が異なっても問題無い
Nは2^nであれば演算量が小さいことが多いため
この形が多く使われる
固定小数点DSPでは
乗算とシフトとアキュームレータへの加算がセットになった命令を使う事が多い
元の値をN倍して整数値として扱うのが固定小数点
100倍したら小数第2位まで扱えるし
256倍すれば2進数で小数第8位まで扱える
加減算だけなら何倍してようがそのまま扱えばいいが
乗除算があると元の値の何倍であるかを意識しないといけない
N倍してる場合
乗算は c = (a * b) / N
除算は c = (a / b) * N
となる
a, b, c の3個とも倍率が異なっても問題無い
Nは2^nであれば演算量が小さいことが多いため
この形が多く使われる
固定小数点DSPでは
乗算とシフトとアキュームレータへの加算がセットになった命令を使う事が多い
931デフォルトの名無しさん
2020/02/09(日) 18:51:18.41ID:KQJLHzBI >>930
いきなり固定小数点の説明始めてどうした?
いきなり固定小数点の説明始めてどうした?
932デフォルトの名無しさん
2020/02/09(日) 19:10:44.62ID:mORiFTgk933デフォルトの名無しさん
2020/02/10(月) 04:36:47.62ID:AGWHQzBG お題: 二次元行列において任意の位置に直線が引かれ行列が分断されるので、分断されたそれぞれの要素数を出力しなさい
0,0,0,0
1,1,1,1
0,0,0,0
0,0,0,0
out > 4, 8
1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,1
out > 6, 6
0,0,0,0
1,1,1,1
0,0,0,0
0,0,0,0
out > 4, 8
1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,1
out > 6, 6
934デフォルトの名無しさん
2020/02/10(月) 11:56:13.07ID:NGNAXTbr 0からなる島の数を数えればいいんじゃね
935デフォルトの名無しさん
2020/02/10(月) 17:44:26.07ID:j00hoIMv だね
直線の定義も無いから
どんな直線かわからんし
直線の定義も無いから
どんな直線かわからんし
936デフォルトの名無しさん
2020/02/12(水) 13:26:27.37ID:RjN3CVSY グラフィックス描画の時の点で囲まれた範囲内を塗り潰すみたいなペンキこぼしたアイコンのあれか
937デフォルトの名無しさん
2020/02/13(木) 12:04:10.52ID:pgHMR/PS938デフォルトの名無しさん
2020/02/13(木) 22:23:36.23ID:IlpbVxdq939デフォルトの名無しさん
2020/02/14(金) 21:25:21.62ID:A4umB3Fs >>937
ひさびさに腕が鳴るぜと思ったらデータ読み込みですでに挫折した
ひさびさに腕が鳴るぜと思ったらデータ読み込みですでに挫折した
940デフォルトの名無しさん
2020/02/15(土) 07:21:35.23ID:1M8DJTak941デフォルトの名無しさん
2020/02/15(土) 09:47:25.94ID:sllo66FE942デフォルトの名無しさん
2020/02/15(土) 10:20:55.88ID:1M8DJTak943デフォルトの名無しさん
2020/02/15(土) 13:25:20.64ID:4O8uAQVX どこの大学か忘れたけど俺もソース公開してもらったことあるな
わざわざ会員にしてくれてねちっこい感謝メール送った憶えあるわ
まぁ当時は俺のレベルが低くてあまり利用しなかったんだけど
わざわざ会員にしてくれてねちっこい感謝メール送った憶えあるわ
まぁ当時は俺のレベルが低くてあまり利用しなかったんだけど
944デフォルトの名無しさん
2020/02/15(土) 17:24:54.16ID:sllo66FE945デフォルトの名無しさん
2020/02/17(月) 00:08:50.45ID:DNOVCA1a お題
コロナウイルスが流行しています
人類が利益優先で地球環境を汚染してることに神が怒って人類に罰を与えたかのようです
コロナウイルスの日毎の感染者の増加数が数列として与えられます
マイナスは治癒した人の数を表します
最も感染者数が増加した7日間を火の七日間と呼ぶことにしました
火の七日間の感染者数を出力してください
入力:12,-3,14,8,9,1,12,10,4,8,0,-3,14,4,14,12,12,8,0,3
コロナウイルスが流行しています
人類が利益優先で地球環境を汚染してることに神が怒って人類に罰を与えたかのようです
コロナウイルスの日毎の感染者の増加数が数列として与えられます
マイナスは治癒した人の数を表します
最も感染者数が増加した7日間を火の七日間と呼ぶことにしました
火の七日間の感染者数を出力してください
入力:12,-3,14,8,9,1,12,10,4,8,0,-3,14,4,14,12,12,8,0,3
946デフォルトの名無しさん
2020/02/17(月) 00:33:03.49ID:DNOVCA1a お題
文字の集合を{}で表します
空集合のときは空文字列に置き換え
要素数が0のときは集合を要素で置き換えることで
式を簡略化してください
入力:{J{A{P{A{N{}}},M{A{I{C{A{}}}}},V{A{}}},O{R{D{A{N{}}}}}}}
出力:J{A{PAN,MAICA,VA},ORDAN}
文字の集合を{}で表します
空集合のときは空文字列に置き換え
要素数が0のときは集合を要素で置き換えることで
式を簡略化してください
入力:{J{A{P{A{N{}}},M{A{I{C{A{}}}}},V{A{}}},O{R{D{A{N{}}}}}}}
出力:J{A{PAN,MAICA,VA},ORDAN}
947デフォルトの名無しさん
2020/02/17(月) 00:35:34.75ID:DNOVCA1a > 要素数が0のときは集合を要素で置き換えることで
要素数が1のときは集合を要素で置き換えることで
の間違いです
要素数が1のときは集合を要素で置き換えることで
の間違いです
948デフォルトの名無しさん
2020/02/17(月) 13:59:00.72ID:jzpbGAPw949デフォルトの名無しさん
2020/02/17(月) 15:09:25.58ID:NKe87pRn よくもそんなことを!
950デフォルトの名無しさん
2020/02/17(月) 15:35:10.73ID:zC1Ey7v3 how dare you
951デフォルトの名無しさん
2020/02/17(月) 16:14:28.45ID:zC1Ey7v3 >>945
Kotlin
https://paiza.io/projects/9VSbHWToTvrYAKNxm1T5jA
7日の合計を一日ずらしで全て求めて人数多い順に先頭の日と共に出すだけなんだけど、こんなので良いの?
最初の行が火の七日間ね。
Kotlin
https://paiza.io/projects/9VSbHWToTvrYAKNxm1T5jA
7日の合計を一日ずらしで全て求めて人数多い順に先頭の日と共に出すだけなんだけど、こんなので良いの?
最初の行が火の七日間ね。
952デフォルトの名無しさん
2020/02/17(月) 19:32:24.86ID:zC1Ey7v3953デフォルトの名無しさん
2020/02/17(月) 23:11:42.06ID:6oTlxsWX954蟻人間 ◆T6xkBnTXz7B0
2020/02/22(土) 04:56:53.70ID:r22v7z8l955デフォルトの名無しさん
2020/02/22(土) 10:29:10.88ID:l8PjXQtK 954ですが出題を間違えました!
多角形とか馬鹿の発想なんで、単純に"Hello, World!"と出力するプログラムを書いてください。
お願いします!
多角形とか馬鹿の発想なんで、単純に"Hello, World!"と出力するプログラムを書いてください。
お願いします!
956デフォルトの名無しさん
2020/02/22(土) 10:53:17.17ID:SFxQYKYb 所詮は蟻ということか
958蟻人間 ◆T6xkBnTXz7B0
2020/02/22(土) 14:39:53.51ID:bX7nhnRg 多角形、いわゆるポリゴンを馬鹿にしちゃあかんよ。CGの基礎はポリゴン。描画も当たり判定もポリゴンがなければ話しにならない。
多角形は自由に様々な形状を表現できる。イライラ棒のフレームとか、道端に転がってる岩の形とか。
多角形は自由に様々な形状を表現できる。イライラ棒のフレームとか、道端に転がってる岩の形とか。
959デフォルトの名無しさん
2020/02/24(月) 20:48:14.13ID:D8qhYUus [お題]
URLのページに都道府県別の人口と面積が載っている。
今回使用するのは、2019.10.1のデータ
URL: https://uub.jp/pjn/pb.html
異なる20都道府県を選んで人口密度(人/km2)を最大化する。
人口密度は、少数6桁程度表示
選んだ都道府県名を 20個表示する(表示されてる順 ← 県コード順)。
例えば、3都道府県なら、
4906.099305 人/km2
[東京都, 神奈川県, 大阪府]
※入力はwebページから(工夫して)コピペで、スクレイピングの問題じゃない。
URLのページに都道府県別の人口と面積が載っている。
今回使用するのは、2019.10.1のデータ
URL: https://uub.jp/pjn/pb.html
異なる20都道府県を選んで人口密度(人/km2)を最大化する。
人口密度は、少数6桁程度表示
選んだ都道府県名を 20個表示する(表示されてる順 ← 県コード順)。
例えば、3都道府県なら、
4906.099305 人/km2
[東京都, 神奈川県, 大阪府]
※入力はwebページから(工夫して)コピペで、スクレイピングの問題じゃない。
960デフォルトの名無しさん
2020/02/25(火) 12:49:16.61ID:A39/tA2F961デフォルトの名無しさん
2020/02/25(火) 21:15:33.96ID:A39/tA2F962デフォルトの名無しさん
2020/02/25(火) 23:17:09.48ID:zX8kgoJ+ お題: 決められたフォーマットの日付が与えられるので、年月日の表記を相互変換しなさい
例:
in < 2020/02/25
out > 2020年2月25日
in < 2020年2月25日
out > 2020/02/25
例:
in < 2020/02/25
out > 2020年2月25日
in < 2020年2月25日
out > 2020/02/25
963デフォルトの名無しさん
2020/02/25(火) 23:42:53.40ID:QaG0jWhg964デフォルトの名無しさん
2020/02/26(水) 01:45:39.12ID:+8ew93/H >>963
それだと月の02が2にならないのでは?
それだと月の02が2にならないのでは?
965デフォルトの名無しさん
2020/02/26(水) 01:52:39.49ID:h2sTW171 02 だったか
printf などでゼロ埋めさせる必要があったんだな
printf などでゼロ埋めさせる必要があったんだな
966デフォルトの名無しさん
2020/02/26(水) 08:04:04.40ID:PiyizPRV そそっかしい人間だなぁ
問題文よく読んでないんじゃね
スラッシュ表記の時は0を削除
年月日表記の時は0で埋める
問題文の例が見えない間抜けの馬鹿なのか?
問題文よく読んでないんじゃね
スラッシュ表記の時は0を削除
年月日表記の時は0で埋める
問題文の例が見えない間抜けの馬鹿なのか?
967デフォルトの名無しさん
2020/02/26(水) 08:27:12.43ID:/vd0VUJl 他人のミスにつけ込みすかさずマウンティングwww
968デフォルトの名無しさん
2020/02/26(水) 08:52:59.77ID:PiyizPRV ミスやバグを作り出すような人間には早期に消えてもらった方がいいからね
それに、そそっかしくて注意力のない欠陥人間なんて一番いらないでしょ
だから、マウンティングを超えて、馬鹿にハッキリと「お前は馬鹿だから要らない、消えてくれ」と言い渡す訓練はいつも行う必要がある
まぁこの手の馬鹿がこういうかんたんで短い問題であぶり出せるのも分かった
アホは問題文を読む能力すらないし、読もうともしない
それに、引っかけ問題は、不要な馬鹿やクズや重度のお人よしを見分けるのに使える
それに、そそっかしくて注意力のない欠陥人間なんて一番いらないでしょ
だから、マウンティングを超えて、馬鹿にハッキリと「お前は馬鹿だから要らない、消えてくれ」と言い渡す訓練はいつも行う必要がある
まぁこの手の馬鹿がこういうかんたんで短い問題であぶり出せるのも分かった
アホは問題文を読む能力すらないし、読もうともしない
それに、引っかけ問題は、不要な馬鹿やクズや重度のお人よしを見分けるのに使える
969デフォルトの名無しさん
2020/02/26(水) 08:54:05.83ID:h2sTW171 次からはヒューマンエラーが出ないように
正解出力例をコピペして、テストにかけておく
正解出力例をコピペして、テストにかけておく
970デフォルトの名無しさん
2020/02/26(水) 09:13:55.04ID:/vd0VUJl 一生懸命やな
971デフォルトの名無しさん
2020/02/26(水) 09:55:08.64ID:re2OdmIW 人生とはTSPである。
972デフォルトの名無しさん
2020/02/26(水) 11:25:01.06ID:b8tbrO4B >>968
お前は馬鹿だから要らない、消えてくれ。
お前は馬鹿だから要らない、消えてくれ。
973デフォルトの名無しさん
2020/02/26(水) 14:32:49.12ID:bEhXB3HQ974デフォルトの名無しさん
2020/02/26(水) 14:41:32.81ID:yGkcf64x 問題文を読んでも例しか書いてないし
決められたフォーマットとやらの記載がどこにもない
何を対応すればいいのかまったく不明
問題文がミス
決められたフォーマットとやらの記載がどこにもない
何を対応すればいいのかまったく不明
問題文がミス
975デフォルトの名無しさん
2020/02/26(水) 16:46:21.84ID:0uW8t3zH >>962の修正
お題: 標準入力から入力が与えられる。入力は一行の文字列で、yyyy/mm/ddまたはyyyy年mm月dd日のフォーマットで構成される。
この時yyyyは西暦年(0~9999)でmmは月(1~12)でddは日(1~31)である。
yyyy/mm/ddの入力をyyyy年mm月dd日のフォーマットに整形しなさい。
また、yyyy年mm月dd日の入力をyyyy/mm/ddのフォーマットに整形しなさい。
yyyyは0埋めの4ケタとし、mm, ddは0埋めの2桁として整形しなさい。
例:
in < 2020/02/25
out > 2020年02月25日
in < 2020年02月25日
out > 2020/02/25
お題: 標準入力から入力が与えられる。入力は一行の文字列で、yyyy/mm/ddまたはyyyy年mm月dd日のフォーマットで構成される。
この時yyyyは西暦年(0~9999)でmmは月(1~12)でddは日(1~31)である。
yyyy/mm/ddの入力をyyyy年mm月dd日のフォーマットに整形しなさい。
また、yyyy年mm月dd日の入力をyyyy/mm/ddのフォーマットに整形しなさい。
yyyyは0埋めの4ケタとし、mm, ddは0埋めの2桁として整形しなさい。
例:
in < 2020/02/25
out > 2020年02月25日
in < 2020年02月25日
out > 2020/02/25
976デフォルトの名無しさん
2020/02/26(水) 16:49:07.66ID:0uW8t3zH >>975
追記、整形した文字列は標準出力に出力すること
追記、整形した文字列は標準出力に出力すること
977デフォルトの名無しさん
2020/02/26(水) 18:22:57.88ID:q+vU4LVz978959
2020/02/26(水) 19:06:00.12ID:jFCu1Qxy >>959 https://ideone.com/uhSlIm
想定解、二分探索でやる。人口密度は"平均値"そのもの。
"平均 最大化"でググれば、それなりの解説がある。
※母数が47と小さいので、1秒焼きなましでも ほぼいける。
>>961
一発回答問題なので合っているので正解。しかし気になるのは
rubyよくわからないが、[県名,人口,面積]として
[['A', 9,3.0],['B',1, 1.0],['C',13,6.0],['D',15,7.0]] から
2点を選ぶときの正解は{AB}、3点を選ぶときの正解は{ACD}のパターン。
想定解、二分探索でやる。人口密度は"平均値"そのもの。
"平均 最大化"でググれば、それなりの解説がある。
※母数が47と小さいので、1秒焼きなましでも ほぼいける。
>>961
一発回答問題なので合っているので正解。しかし気になるのは
rubyよくわからないが、[県名,人口,面積]として
[['A', 9,3.0],['B',1, 1.0],['C',13,6.0],['D',15,7.0]] から
2点を選ぶときの正解は{AB}、3点を選ぶときの正解は{ACD}のパターン。
979デフォルトの名無しさん
2020/02/26(水) 19:17:12.65ID:qN9Z1rJQ ミスを指摘するのはいいけどスマートに指摘してる>>964の後でグダグダ書いても見苦しいだけ
980デフォルトの名無しさん
2020/02/26(水) 19:28:29.51ID:q+vU4LVz981デフォルトの名無しさん
2020/02/27(木) 20:37:04.61ID:pCBnuevU 高次元のhypot()って、
・1パス派
(例:ttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot)
・2パス派
(最初のパスで絶対値が最大のやつを探す)
・1パス派
(例:ttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot)
・2パス派
(最初のパスで絶対値が最大のやつを探す)
982デフォルトの名無しさん
2020/03/10(火) 09:09:02.64ID:f5TEfRbL お題:TSPの問題です。より良い解を見つけてください。
112: 72, 84, 96, 78, 66, 54, 36, 48, 18, 6, 24, 12, 0, 30, 42, 60, 90
12 . . . . . 9 . . .
. . 11 . . . . . 8 .
. . . . 10 . . . . .
13 . . . . . 6 . . .
. . 14 . . . . . 7 .
. . . . 5 . . . . .
15 . . . . . 4 . . .
. . 0 . . . . . 3 .
. . . . 1 . . . . .
16 . . . . . 2 . . .
112: 72, 84, 96, 78, 66, 54, 36, 48, 18, 6, 24, 12, 0, 30, 42, 60, 90
12 . . . . . 9 . . .
. . 11 . . . . . 8 .
. . . . 10 . . . . .
13 . . . . . 6 . . .
. . 14 . . . . . 7 .
. . . . 5 . . . . .
15 . . . . . 4 . . .
. . 0 . . . . . 3 .
. . . . 1 . . . . .
16 . . . . . 2 . . .
983デフォルトの名無しさん
2020/03/10(火) 10:21:57.13ID:uSYTACuw 卓球?
984デフォルトの名無しさん
2020/03/10(火) 14:43:02.26ID:DwW+jSc5 Third Person Shooting
985デフォルトの名無しさん
2020/03/10(火) 17:12:41.27ID:7dkrpYl/ 答えは42
986デフォルトの名無しさん
2020/03/10(火) 18:36:06.37ID:lAAHr9o2 >>982
TSPとは何か?
TSPとは何か?
987デフォルトの名無しさん
2020/03/10(火) 20:05:02.33ID:5TWhqkXt 巡回セールスマン問題
988デフォルトの名無しさん
2020/03/10(火) 20:35:05.26ID:lAAHr9o2 しかし問題がわからない。あの数字の並びは何を意味しているのか?どう解釈したら良いのか?
989デフォルトの名無しさん
2020/03/12(木) 07:28:47.04ID:ENQzvamd TSPはの難しさは都市の配置に規則性がないことに起因している。
990デフォルトの名無しさん
2020/03/12(木) 11:02:31.13ID:2DPQopCV 都市間の移動にかかる費用も考える必要もある
複数日にまたがるときはホテルとかの滞在費用も
考える必要がある。
複数日にまたがるときはホテルとかの滞在費用も
考える必要がある。
991蟻人間 ◆T6xkBnTXz7B0
2020/03/12(木) 12:28:53.46ID:C2ncg2aI そろそろ次スレ。
992デフォルトの名無しさん
2020/03/12(木) 12:33:11.17ID:YemHquQ0 IT業界の俊英が集まっても21世紀という未来になろうともスレ立ては自動化出来てない
993デフォルトの名無しさん
2020/03/12(木) 19:05:02.81ID:IkexJDbX 三重円上に都市を配置すると動きが長く続いて面白い。
994デフォルトの名無しさん
2020/03/13(金) 01:44:15.51ID:0rEhys36995デフォルトの名無しさん
2020/03/14(土) 09:16:02.41ID:3pKFlko/ お題:5以上の素数は6 n±1で表される。剰余の合計は正になることが
あるのか?
あるのか?
996デフォルトの名無しさん
2020/03/14(土) 09:18:38.35ID:k7TraB34 たとえば 7 + 13 = 6*3 +2 で正になるね それで?
997デフォルトの名無しさん
2020/03/14(土) 18:47:10.51ID:Eedm4UOr998デフォルトの名無しさん
2020/03/14(土) 19:21:05.76ID:APh0y0Of 説明不足というかあの文章からその意図が読み取れる人のほうが稀なんじゃねぇの?と思うほどには意味不明
999デフォルトの名無しさん
2020/03/14(土) 19:23:26.96ID:APh0y0Of というか、その出題内容であるなら数学の話では?
プログラムで1億までだろうが10^100までだろうが求めたところで正答とは言えない
プログラムで1億までだろうが10^100までだろうが求めたところで正答とは言えない
1000デフォルトの名無しさん
2020/03/14(土) 20:35:41.39ID:B7/mXo+i10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 118日 11時間 35分 19秒
新しいスレッドを立ててください。
life time: 118日 11時間 35分 19秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
